是否可以将POST强制设置为相同的字段,将PUT请求设置为可选的字段?

时间:2019-07-04 09:36:52

标签: rest

是否可以将POST强制设为相同的字段,而将REST API的PUT请求设为相同的字段?还是取决于用于实现此请求的术语?

例如,存在创建Car对象的POST请求,并且该对象具有字段model_id,该字段实际上是从模型字典中选择的。 POST请求需要model_id,因为汽车必须定义了model_id。

我想有一个PUT方法可以更改某些字段,例如serial_nummanufacture_datecolor等,甚至model_id。但我希望此PUT方法将model_id更改为可选参数,例如我只想更改颜色就可以了。

那么在REST中有可能吗?某些实现这些请求的技术是否不允许我为POST蚂蚁PUT设置不同的可选/必填参数集?

1 个答案:

答案 0 :(得分:1)

好吧,您可以在这里做任何您想做的事情。如果您检查请求正文中的字段,并且没有指定model_id,则返回错误将不会杀死您。

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

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

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

  1. https://developer.mozilla.org/en-US/docs/Web/HTTP/Methods
  2. REST API - PUT vs PATCH with real life examples
  3. https://tools.ietf.org/html/rfc7231#section-4.3.4
  4. https://tools.ietf.org/html/rfc5789

来自4.来源的一件重要事情:

  

已经定义了PUT方法以使用   完整的新主体,并且不能重复使用以进行部分更改。

还有3个句子中的另外一个句子。

  

通常来说,服务器有意隐藏资源接口背后的所有实现细节。