Rest RAML相同方法重载文档

Rest RAML相同方法重载文档,rest,raml,Rest,Raml,我在RESTAPI中有两个具有相同入口点的PUT方法 方法#1:PUT/videos/{videoId},类型为multipart/form data,将替换视频 方法#2:PUT/videos/{videoId}?title=newTitle&description=newDescription,它将更新视频的标题和描述 当我试图像下面这样记录它时,我得到了“方法已经声明:'put'” 你对如何记录这个案例有什么建议吗 谢谢 在执行PUT请求时,将数据发送到查询参数中进行更改不是一个好的做法。

我在RESTAPI中有两个具有相同入口点的PUT方法

方法#1:PUT/videos/{videoId},类型为multipart/form data,将替换视频

方法#2:PUT/videos/{videoId}?title=newTitle&description=newDescription,它将更新视频的标题和描述

当我试图像下面这样记录它时,我得到了“方法已经声明:'put'”

你对如何记录这个案例有什么建议吗


谢谢

在执行PUT请求时,将数据发送到查询参数中进行更改不是一个好的做法。与此相反,我将更改第二个PUT,以获得一个内容类型为的补丁:application/json作为主体类型,并作为我要发送的有效负载的内容

{ title: "newTitle", description: "newDescription" }
有了这个,您的API将实现您想要在这里得到的一切(就我从您的问题中得到的)


请注意,我更改了这个补丁,因为在补丁中,发送带有数据的孔json不是必需的。如果您的API实现支持,您以后可能只会发送一个补丁来更改描述。在一个PATH请求中,您应该发送孔JSON。< /P>如果您选择<代码>补丁>代码>,请考虑下面的RCF6902 AKA JSON补丁,如下面的“FaloFo”所说,存在一个设计问题。如果有什么不同的话,上述方法违反了一致性原则:为什么视频实体的某些部分会用查询参数更新,而其他部分会用多部分/表单数据实体更新。只需在所有情况下使用多部分/表单数据:这将使API用户更容易使用。
{ title: "newTitle", description: "newDescription" }