ker*_*i11 5 swagger swagger-2.0 swagger-editor
我在为 OpenAPI (Swagger) 文档定义自定义请求标头时遇到问题。我查看了文档https://swagger.io/docs/specification/describing-parameters/#header-parameters但我无法让它工作。
在我下面的示例中,是一个具有正文的 POST 请求。我还希望它有一个像我的第二个片段一样的自定义标头,但这无效。
还行吧:
/search:
post:
tags:
- Domain
summary: Search for domains
description: Returns a domain if it was found.
produces:
- application/json
parameters:
- in: body
name: body
description: Array of Domain Names
required: true
schema:
$ref: '#/definitions/DomainNames'
Run Code Online (Sandbox Code Playgroud)
这是不行的:
/search:
post:
tags:
- Domain
summary: Search for domains
description: Returns a domain if it was found.
produces:
- application/json
parameters:
- in: header
name: X-Request-ID
schema:
type: string
format: uuid
required: true
- in: body
name: body
description: Array of Domain Names
required: true
schema:
$ref: '#/definitions/DomainNames'
Run Code Online (Sandbox Code Playgroud)
我在线上- in: header收到以下错误:
paths['/search'].post.parameters[0].in 处的架构错误
应等于允许值之一
allowedValues: body, header, formData, query, path
跳转到第 37 行paths['/search'].post.parameters[0] 处的架构错误
不应有其他属性
additionalProperty: schema, in, name
跳转到第 37 行
我在这里缺少什么?标头显示在渲染的 Swagger UI 中,但我无法“保存”它,因为它无效。
您链接到的指南适用于 OpenAPI 3.0(如该页面顶部所示)。相应的 OpenAPI 2.0 指南位于此处:描述参数。
在OpenAPI 2.0中,path/header/query/form参数不使用schema,它们type直接使用关键字。
另外,- in: header您示例中的行缩进不够,您需要在其之前添加一个空格以使其与其他行对齐。
这是正确的版本:
parameters:
- in: header # <----
name: X-Request-ID
type: string # <----
format: uuid # <----
required: true
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
7698 次 |
| 最近记录: |