Http 什么';更新符合某些需求的资源的最简单的方法是什么?
我想做更多的Http 什么';更新符合某些需求的资源的最简单的方法是什么?,http,rest,Http,Rest,我想做更多的REST,比如: 选择其field1等于foo的资源,并将field1更新为bar UPDATE XXX SET field1 = "bar" WHERE field1="foo" 我可以看到两种解决方案: 获取符合我的需求的项目,然后放置以更新它们。可以使用Etag或If Match来保证它是原子的 编写一个定制的PUT方法处理程序,使查询字符串表示SQL中的WHERE子句,而PUT请求的内容表示SQL中的SET子句 我个人更喜欢后一种解决方案,但在REST中,PUT方法应该覆盖
REST
,比如:
选择其field1
等于foo
的资源,并将field1
更新为bar
UPDATE XXX SET field1 = "bar" WHERE field1="foo"
我可以看到两种解决方案:
获取符合我的需求的项目,然后放置以更新它们。可以使用Etag
或If Match
来保证它是原子的
PUT
方法处理程序,使查询字符串表示SQL中的WHERE子句,而PUT
请求的内容表示SQL中的SET
子句REST
中,PUT
方法应该覆盖*a*资源,一次覆盖的资源不多,也不只是更新资源的某些字段
我还检查了方法建议。它使“更新资源的某些字段”成为可能,但它不用于同时更新许多资源
那么你的解决方案是什么?我想看看您的最佳实践:-)随机未经测试的想法:
url: PUT /xxx/*/field1/foo
body: "bar"
或者(如果您可以预测/绑定XXX的键范围):
或者如果你可以打两个电话,也许:
GET /xxx?field1="foo"
POST /xxx/id1,id2,...,idn/field1
"bar"
GET /xxx?field1="foo"
POST /xxx/id1,id2,...,idn/field1
"bar"