Rest 是否可以将同一字段设置为POST必需字段和PUT请求可选字段?

Rest 是否可以将同一字段设置为POST必需字段和PUT请求可选字段?,rest,Rest,对于RESTAPI,POST和PUT请求是否可以强制使用相同的字段?还是取决于用于实现此请求的技术 例如,有一个创建Car对象的POST请求,该对象有一个字段model\u id,该字段实际上是从模型字典中选择的。POST请求需要model\u id,因为汽车必须定义model\u id 我想有一个PUT方法,可以改变一些字段,例如序列号,生产日期,颜色等等,甚至型号id。但我希望这个PUT方法将model_id更改为可选参数,例如,我只想更改颜色,这样就可以了 那么这在REST中是可能的吗?实

对于RESTAPI,POST和PUT请求是否可以强制使用相同的字段?还是取决于用于实现此请求的技术

例如,有一个创建
Car
对象的POST请求,该对象有一个字段
model\u id
,该字段实际上是从模型字典中选择的。POST请求需要
model\u id
,因为汽车必须定义model\u id

我想有一个PUT方法,可以改变一些字段,例如
序列号
生产日期
颜色
等等,甚至
型号id
。但我希望这个PUT方法将
model_id
更改为可选参数,例如,我只想更改颜色,这样就可以了


那么这在REST中是可能的吗?实现这些请求的一些技术是否不允许我为POST ant PUT创建不同的可选/强制参数集?

好吧,您可以在这里做任何您想做的事情。如果您检查请求正文中的字段,并在指定(或未指定)了
model\u id
时返回错误,则没有人会杀死您

有些人使用POST方法来更新API中的实体

如果您想更接近标准,最好使用补丁进行部分更新

您可以在这里找到许多有趣的信息:

  • 第四章有一件很重要的事。资料来源:

    PUT方法已定义为使用 完成新主体,并且不能重复使用以进行部分更改

    还有第三句话。资料来源:

    一般来说,服务器有意隐藏资源接口后面的所有实现细节