我的rest API中有2个PUT方法,具有相同的入口点。
方法#1:PUT / videos / {videoId},其类型为multipart / form-data,将取代视频。
方法#2:PUT / videos / {videoId}?title = newTitle& description = newDescription将更新视频的标题和说明。
当我尝试将其记录如下时,我得到“已经声明的方法:'put'”
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
您对如何记录此案件有任何建议吗?
谢谢!
答案 0 :(得分:1)
在执行PUT请求时,发送数据以更改查询参数不是一个好习惯。而不是我改变你的第二个PUT为PATCH与Content-Type:application / json作为正文的类型,并作为该有效负载的内容我发送
{ title: "newTitle", description: "newDescription" }
有了这个,您的API将实现您想要的所有内容(就我从您的问题中得到的结果)。
请注意,我在PATCH中为PATCH更改了这个原因并不是强制要求您使用数据发送孔json。如果您的API实现支持,您可能稍后只发送一个PATCH来更改描述。在PUT请求中,您应该发送孔json。