首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在OpenAPI 3.0中如何定义头部参数?

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

Stack Overflow用户
提问于 2018-05-01 21:08:38
回答 1查看 24.7K关注 0票数 18

在OpenAPI (Swagger) 2.0中,我们可以这样定义头部参数:

代码语言:javascript
运行
复制
paths:
  /post:
    post:
      parameters:
        - in: header
          name: X-username

但是在OpenAPI 3.0.0中,参数被请求主体替换,我找不到一种方法来定义头参数,这些参数将进一步用于身份验证。

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

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-05-01 21:53:10

在OpenAPI 3.0中,标头参数的定义方式与OpenAPI 2.0中相同,只是type已替换为schema

代码语言:javascript
运行
复制
paths:
  /post:
    post:
      parameters:
        - in: header
          name: X-username
          schema:
            type: string

如果有疑问,请查看Describing Parameters指南。

,但在Swagger 3.0.0中,参数被请求主体所取代。

这仅适用于形状参数和正文参数。其他参数类型(path、query、header)仍定义为parameters

定义了报头参数,这些参数将进一步用于身份验证。

定义与身份验证相关的参数的更好方法是使用securitySchemes,而不是在parameters中显式定义这些参数。安全方案用于API密钥、应用ID/密码等参数。在您的案例中:

代码语言:javascript
运行
复制
components:
  securitySchemes:
    usernameHeader:
      type: apiKey
      in: header
      name: X-Username

paths:
  /post:
    post:
      security:
        - usernameHeader: []
      ...
票数 28
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50117059

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档