0

Hapijs フレームワークの Node.js で記述された REST API の Accept ヘッダーを検証しようとしています。次の受け入れヘッダーでリクエストを作成する Firefox からリソースをリクエストすると、次のようになります。

Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8

今、私のルートは次のようになります。

{
      method: 'GET',
      path: '/cities',
      handler: function (req, reply) {
        ... handler ...
      },
      config: {
        validate: {
          headers: Joi.object({
            'accept': Joi.any().valid('application/json').required()
          }).unknown()
        }
      } 
}

ここで、Joi が受け入れヘッダーをある種の配列に分割しないことがわかりました。次のような正規表現を使用できます。

Joi.string().regex(/(application\/json)/)

特にAPIのバージョン管理が行われるときに、そのような複数値ヘッダーを検証する正規表現以外の方法があるのではないかと思います。誰でもアイデアを得ましたか?

4

1 に答える 1