API を呼び出すときにコンシューマから送信されるヘッダー パラメータについて話している場合は...
パラメータ セクションで少なくとも 1 回定義し、必要な場合にのみ参照することができます。以下の例では:
CommonPathParameterHeader
、ReusableParameterHeader
およびドキュメントのルートでAnotherReusableParameterHeader
一度だけ定義さparameters
れ、任意のパラメーターリストで使用できます
CommonPathParameterHeader
およびパスparameters
のセクションで参照されます。つまり、これらのパスのすべての操作にはこのヘッダーが必要です/resources
/other-resources
ReusableParameterHeader
get /resources
この操作で必要であるという意味で参照されます
AnotherReusableParameterHeader
で同じことget /other-resources
例:
swagger: '2.0'
info:
version: 1.0.0
title: Header API
description: A simple API to learn how you can define headers
parameters:
CommonPathParameterHeader:
name: COMMON-PARAMETER-HEADER
type: string
in: header
required: true
ReusableParameterHeader:
name: REUSABLE-PARAMETER-HEADER
type: string
in: header
required: true
AnotherReusableParameterHeader:
name: ANOTHER-REUSABLE-PARAMETER-HEADER
type: string
in: header
required: true
paths:
/resources:
parameters:
- $ref: '#/parameters/CommonPathParameterHeader'
get:
parameters:
- $ref: '#/parameters/ReusableParameterHeader'
responses:
'200':
description: gets some resources
/other-resources:
parameters:
- $ref: '#/parameters/CommonPathParameterHeader'
get:
parameters:
- $ref: '#/parameters/AnotherReusableParameterHeader'
responses:
'200':
description: gets some other resources
post:
responses:
'204':
description: Succesfully created.
各 API 応答で送信されるヘッダーについて話している場合...
残念ながら、再利用可能な応答ヘッダーを定義することはできません。ただし、少なくとも、500 エラーなどの一般的な HTTP 応答に対して、これらのヘッダーを含む再利用可能な応答を定義できます。
例:
swagger: '2.0'
info:
version: 1.0.0
title: Header API
description: A simple API to learn how you can define headers
parameters:
CommonPathParameterHeader:
name: COMMON-PARAMETER-HEADER
type: string
in: header
required: true
ReusableParameterHeader:
name: REUSABLE-PARAMETER-HEADER
type: string
in: header
required: true
AnotherReusableParameterHeader:
name: ANOTHER-REUSABLE-PARAMETER-HEADER
type: string
in: header
required: true
paths:
/resources:
parameters:
- $ref: '#/parameters/CommonPathParameterHeader'
get:
parameters:
- $ref: '#/parameters/ReusableParameterHeader'
responses:
'200':
description: gets some resources
headers:
X-Rate-Limit-Remaining:
type: integer
X-Rate-Limit-Reset:
type: string
format: date-time
/other-resources:
parameters:
- $ref: '#/parameters/CommonPathParameterHeader'
get:
parameters:
- $ref: '#/parameters/AnotherReusableParameterHeader'
responses:
'200':
description: gets some other resources
headers:
X-Rate-Limit-Remaining:
type: integer
X-Rate-Limit-Reset:
type: string
format: date-time
post:
responses:
'204':
description: Succesfully created.
headers:
X-Rate-Limit-Remaining:
type: integer
X-Rate-Limit-Reset:
type: string
format: date-time
'500':
$ref: '#/responses/Standard500ErrorResponse'
responses:
Standard500ErrorResponse:
description: An unexpected error occured.
headers:
X-Rate-Limit-Remaining:
type: integer
X-Rate-Limit-Reset:
type: string
format: date-time
OpenAPI (fka.Swagger) について 次のバージョン
OpenAPI 仕様 (fka.Swagger) は進化し、特に再利用可能な応答ヘッダーの定義が含まれます ( https://github.com/OAI/OpenAPI-Specification/issues/563を参照)。