REST:PUT 以及如何处理部分实体

标签 rest partial put

我已阅读有关 PUT 的同上效力的所有内容,并且不将其用于部分更新。我现在的问题是如何处理这种情况。

假设我的服务收到资源 A 的 PUT 请求。A 有 5 个属性。如果请求只包含其中 4 个,我该怎么办?

  • 将缺失的属性设置为 null
  • 抛出错误,400 错误请求
  • 其他?

在创建新资源时设置为 null 似乎没问题,但在更新时似乎可能有问题或危险。

对于这种情况,哪一个被认为是“最佳实践”?

最佳答案

根据《REST in Practice》一书:

  • PUT 需要完整的资源表示
  • 建议在通常涉及大量资源的情况下使用 PATCH 仅提供更改的表示

关于REST:PUT 以及如何处理部分实体,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13861062/

相关文章:

.net - 当 4xx 响应丢失连接时发出多个 HTTP 请求/响应

r - 函数生成;更改其他功能的默认值(部分)

string - 在基本工作区中查找具有部分字符串匹配的变量(Matlab)

ruby-on-rails - Rails 3.1.10 中脚手架生成的 View 规范中缺少部分错误

web-services - ServiceStack 客户端和二义性路由

rest - 为什么我不能在Flutter中执行rest api请求

java - 尝试 PUT 方法时出现错误 405 (Jersey/Java) : Method Not Allowed

angularjs - 执行 PUT/POST 时没有 HTTP 资源错误 [CORS 问题 - AngularJS + Web API 2]

java - 通过 REST API 访问机器学习模型

python - Angular $http 正在发送 OPTIONS 而不是 PUT(不是 POST)