OpenAPI(Swagger)2.0では、次のようにヘッダーパラメーターを定義できます。
paths:
/post:
post:
parameters:
- in: header
name: X-username
しかし、OpenAPI 3.0.0では、パラメーターはリクエスト本文に置き換えられ、さらに認証に使用されるヘッダーパラメーターを定義する方法が見つかりません。
OpenAPI 3.0.0でリクエストヘッダーを定義する正しい方法は何ですか?
OpenAPI 3.0では、ヘッダーパラメータはOpenAPI 2.0と同じ方法で定義されますが、type
がschema
に置き換えられています。
paths:
/post:
post:
parameters:
- in: header
name: X-username
schema:
type: string
疑問がある場合は、 パラメータの説明 ガイドを確認してください。
ただし、Swagger 3.0.0では、パラメーターはリクエスト本文に置き換えられます。
これは、フォームとボディのパラメータにのみ当てはまります。他のパラメータータイプ(パス、クエリ、ヘッダー)は、引き続きparameters
として定義されます。
認証にさらに使用されるヘッダーパラメータを定義します。
認証関連のパラメーターを定義するより良い方法は、securitySchemes
でこれらのパラメーターを明示的に定義するのではなく、parameters
を使用することです。セキュリティスキームは、APIキー、アプリID /シークレットなどのパラメーターに使用されます。
components:
securitySchemes:
usernameHeader:
type: apiKey
in: header
name: X-Username
paths:
/post:
post:
security:
- usernameHeader: []
...