web-dev-qa-db-ja.com

SwaggerドキュメントリクエストにCookieを含める

私のWebサービスAPIは、特定のCookieがリクエストに含まれているかどうかを確認しますが、Swagger docAPI呼び出しにCookieを含める方法がわかりませんでした。

私は2つのアプローチを試しました:

  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')
    )
    

しかし、どちらのアプローチでも、APIがCookieを取得しないので、どうすればこれを実行できるのでしょうか。ありがとう!

7
Li-Fan Yu

OpenAPI/Swagger仕様2.0はCookie認証をサポートしていません。次のバージョン(3.0)の場合、それをサポートするための説明は次のとおりです。

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

更新:OpenAPI仕様3.0はcookieをサポートします: https://github.com/OAI/OpenAPI-Specification/blob/OpenAPI.next/versions/3.0.md#parameter-locations

7
William Cheng

手遅れかもしれませんが、 以下 の例を確認する必要があります。

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: []
4
jgato