在swagger doc请求中包含cookie

时间:2016-08-16 21:03:39

标签: cookies swagger swagger-ui swagger-2.0

我的网络服务API会检查请求中是否包含某个Cookie,但我无法弄清楚如何在我的swagger doc api调用中添加Cookie。

我尝试了两种方法:

  1. 在我的.yaml文件中将cookie添加为可编辑字段。

    paths:
      /myApi/create:
        parameters:
          - name: Cookie
            in: header
            description: cookie
            required: true
            type: string
    
  2. 在swagger ui的html文件中,添加

    window.authorizations.add(
        "Cookie",
        new ApiKeyAuthorization("Cookie", 'Name=Val', 'header')
    )
    
  3. 但是在这两种方法中,我的api都没有获得cookie,我想知道我该怎么做?谢谢!

2 个答案:

答案 0 :(得分:5)

OpenAPI / Swagger规范2.0不支持cookie身份验证。对于下一个版本(3.0),可以在以下内容中找到支持它的讨论:

https://github.com/OAI/OpenAPI-Specification/issues/15

更新:OpenAPI规范3.0将支持cookiehttps://github.com/OAI/OpenAPI-Specification/blob/OpenAPI.next/versions/3.0.md#parameter-locations

答案 1 :(得分:3)

也许为时已晚,但您应该查看following示例:

swagger: '2.0'
info:
  version: '1'
  title: With Cookie Authentication
  description: With Cookie Authentication

securityDefinitions:
  myCookie:
    type: apiKey
    name: Cookie
    in: header
paths: 
  /say-hi:
    get:
      summary: Say Hello
      description: Say Hello
      responses:
        200:
          description: OK
      security:
        - myCookie: []