2017-06-15 14 views
1

私は自分のAPIのためにスージーガーを作成していますが、同じエンドポイントに同じメソッドがあるという問題があります。 2つの同じエンドポイント(/トークン)が同じhttpMethod POSTであり、どちらもボディに異なるパラメータを持っています。最初のエンドポイントが表示されていないUIスワッガー。同じエンドポイント上の同じHTTPメソッドが表示されません

これは私の闊歩コードです:だけのパスごとに一度

"/token": { 
     "post": { 
     "tags": [ 
      "Authorisation" 
     ], 
     "summary": "Get Token by Username and Password", 
     "operationId": "6bfe7ad3-64e8-4550-8fc9-c93ff30f4f0e", 
     "consumes": [ 
      "application/x-www-form-urlencoded" 
     ], 
     "parameters": [ 
        ], 
     "responses": { 
      "200": { 
      "schema": { 
       "$ref": "#/definitions/getTokenResponse" 
      } 
      } 
     }, 
     "security": [ 
      { 
      "basic_auth": [] 
      } 
     ] 
     }, 
     "post": { 
     "tags": [ 
      "Authorisation" 
     ], 
     "summary": "Refresh Acces Token", 
     "operationId": "6bfe7ad3-64e8-4550-8fc9-c93ff30f4f0e", 
     "consumes": [ 
      "application/x-www-form-urlencoded" 
     ], 
     "parameters": [ 
       ], 
     "responses": { 
      "200": { 
      "schema": { 
       "$ref": "#/definitions/getTokenResponse" 
      } 
      } 
     }, 
     "security": [ 
      { 
      "basic_auth": [] 
      } 
     ] 
     } 
} 

答えて

2

各HTTPメソッドを使用することができます。同じパスに対して2つのPOSTを持つことはできません。

今後のOpenAPIの仕様3.0は、あなたのような、同じ操作で代替ペイロードを定義することができますoneOfサポートします:

paths: 
    /token: 
    requestBody: 
     content: 
     application/x-www-form-urlencoded: 
      oneOf: 
      - $ref: '#/components/schemas/getTokenRequest' 
      - $ref: '#/components/schemas/refreshTokenRequest' 

が、OpenAPIを/ SWAGGER 2.0で、それは可能ではないのですが。

関連する問題