Swagger 如何在OpenAPI 3.0中定义头参数?

Swagger 如何在OpenAPI 3.0中定义头参数?,swagger,openapi,Swagger,Openapi,在OpenAPI(Swagger)2.0中,我们可以定义如下标题参数: 路径: /职位: 职位: 参数: -在:标题 姓名:X-username 但在OpenAPI3.0.0中,参数被请求主体替换,我找不到定义头参数的方法,头参数将进一步用于身份验证 在OpenAPI 3.0.0中,定义请求头的正确方法是什么?在OpenAPI 3.0中,头参数的定义方式与OpenAPI 2.0中相同,只是类型已替换为模式: 路径: /职位: 职位: 参数: -在:标题 姓名:X-username 模式: 类型

在OpenAPI(Swagger)2.0中,我们可以定义如下标题参数:

路径:
/职位:
职位:
参数:
-在:标题
姓名:X-username
但在OpenAPI3.0.0中,参数被请求主体替换,我找不到定义头参数的方法,头参数将进一步用于身份验证


在OpenAPI 3.0.0中,定义请求头的正确方法是什么?

在OpenAPI 3.0中,头参数的定义方式与OpenAPI 2.0中相同,只是
类型
已替换为
模式

路径:
/职位:
职位:
参数:
-在:标题
姓名:X-username
模式:
类型:字符串
如有疑问,请查阅指南

但在Swagger 3.0.0中,参数被请求机构所取代

这仅适用于形状和主体参数。其他参数类型(路径、查询、标题)仍定义为
参数

定义头参数,进一步用于身份验证

定义身份验证相关参数的更好方法是使用
securitySchemes
,而不是在
parameters
中明确定义这些参数。安全方案用于API密钥、应用程序ID/secret等参数。在您的情况下:

组件:
证券计划:
usernameHeader:
类型:apiKey
在:标题
姓名:X-Username
路径:
/职位:
职位:
安全:
-usernameHeader:[]
...

但此API将用户名和密码发送给第三方以验证登录,并作为回报发送令牌ID,我将在其他API的承载身份验证值中进一步使用令牌ID,添加组件是否仍然是一个好主意?这真的取决于您。我会用常规参数定义初始登录请求。这就是我所做的,是的,它对我有效,谢谢Helen,感谢即时帮助。@PAA我不使用Spring Boot。请考虑一下。