Ich habe 2 PUT Methoden in meinem Rest API mit dem gleichen Einstiegspunkt.RAML gleiche Methode Überladung Dokumentation
Methode # 1: PUT/videos/{videoId} mit Typ multipart/form-data, die das Video ersetzen wird.
Methode 2: PUT/videos/{videoId}? Title = newTitle & description = newDescription, das den Titel und die Beschreibung des Videos aktualisiert.
Wenn ich versuche, es zu dokumentieren, wie folgende erhalte ich „Methode bereits erklärt:‚setzen‘“
put:
description: replace a video with a new video
body:
multipart/form-data:
formParameters:
file:
description: a video file to replace the current video file
required: true
type: file
responses:
200:
body:
application/json:
schema: !include video.schema
example: !include video.example
description: Returns the video object.
put:
description: update video's fields
queryParameters:
title:
description: video's title
required: false
type: string
description:
description: video's description
required: false
type: string
responses:
200:
body:
application/json:
schema: !include video.schema
example: !include video.example
Haben Sie Vorschläge, wie diesen Fall zu dokumentieren?
Danke!
Wie @farolfo es unten sagt, gibt es ein Design-Problem. Wenn überhaupt, verstößt der obige Ansatz gegen das Konsistenzprinzip: Warum sollte ein Teil der Videoeinheit mit Abfrageparametern aktualisiert werden und andere mit einer mehrteiligen/Formdateneinheit. Verwenden Sie multipart/form-data für alle Fälle. Dies wird Ihren API-Benutzern die Arbeit erleichtern. –