私は同じエントリーポイントを持つ残りのAPIに2つのPUTメソッドを持っています。RAML同じメソッドオーバーロードのドキュメント
方法1:ビデオを置き換えるmultipart/form-dataタイプのPUT/videos/{videoId}。
方法2:PUT/videos/{videoId}?title = newTitle & description =ビデオのタイトルと説明を更新するnewDescription。
私は次のようにそれを文書化しようとすると、私が得る「方法はすでに宣言: 『置く』」
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
は、あなたがこのケースを文書化する方法上の任意の提案はありますか?
ありがとうございます!
@farolfoには以下のように書かれているように、設計上の問題があります。何かがある場合、上記のアプローチは一貫性の原則に違反します。なぜビデオエンティティの一部がクエリパラメータで更新されるのか、マルチパート/フォームデータエンティティで更新されるのでしょうか。すべての場合にmultipart/form-dataを使用してください。これにより、APIユーザーにとっては簡単になります。 –