2016-02-18 15 views
5

Ich versuche, das Atom Publishing Protocol (RFC5023) in eine Swagger/OpenAPI-Spezifikation umzuwandeln, um das Schreiben dieser Spezifikationen zu üben.Swagger: "Äquivalentpfad existiert bereits" trotz unterschiedlicher Parameter

Ich stieß auf das folgende Problem: in Atom gibt es verschiedene Arten von URIs, z. Sammlungs- und Mitglieds-URIs. Meine Idee war es, ein Dokument wie dieses:

paths: 
    /{CollectionURI}: 
    get: 
     summary: List Collection Members 
     ... 
    post: 
     summary: Create a Resource 
     ... 
    parameters: 
     - $ref: "#/parameters/CollectionURI" 
    /{MemberURI}: 
    get: 
     summary: Retrieve a Resource 
     ... 
    parameters: 
     - $ref: "#/parameters/MemberURI" 

Wenn ich das tue, Prahlerei-Editor behauptet, dass

Equivalent Pfad existiert bereits:/{MemberURI}

Das sind verschiedene Arten von URIs, die bei der Abfrage unterschiedliche Dinge zurückgeben. Ich möchte sie anders benennen, um sie einzeln zu dokumentieren.

Gibt es eine Möglichkeit, dies zu tun?

Danke!

EDIT: Die Spezifikation in ganz gut zeigt sich Swagger-UI - ist das ein Bug im Editor oder hat die Benutzeroberfläche nur meine Fehler ignorieren?

Antwort

6

Das ist, weil die zwei Pfade identisch sein können. Ich verstehe, dass die Parameter sie eindeutig identifizieren können, aber Swagger 2.0 unterstützt keine vollständigen URI-Vorlagen, und nur der Pfadabschnitt wird auf Eindeutigkeit überprüft. Also diese:

/{foo} 
/{bar} 

sind identisch, auch wenn foo ein String sein muss, und die Bar muss eine Zahl sein. Bitte fügen Sie Ihre 0.$ 0.02 hinzu, da wir gerade an einer besseren Pfadunterstützung arbeiten.

+1

Danke, ich habe eine neue Ausgabe auf github geöffnet: https://github.com/OAI/OpenAPI-Specification/issues/576 – trilean

Verwandte Themen