2017-06-15 1 views
1

Ich erstellen Swagger für meine APIs, aber ich habe ein Problem für die gleichen Endpunkte mit denselben Methoden. Hier sind zwei gleiche Endpunkte (/ Token) mit dem gleichen httpMethod POST und beide haben unterschiedliche Parameter im Körper. UI Swagger zeigt den ersten Endpunkt nicht an.gleichen HTTP-Methoden auf dem gleichen Endpunkt werden nicht angezeigt

Das ist mein Prahlerei Code:

"/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": [] 
      } 
     ] 
     } 
} 

Antwort

2

Jede HTTP-Methode kann nur einmal pro Pfad verwendet werden. Sie können nicht zwei POSTs für denselben Pfad haben.

Die kommende OpenAPI-Spezifikation 3.0 wird oneOf unterstützen, die Sie alternative Nutzlasten im gleichen Betrieb, wie definieren können:

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

aber in OpenAPI/Swagger 2.0 ist es nicht möglich.

Verwandte Themen