我想做更多REST
这样的事情:
选择field1
等于的资源foo
,然后更新field1
为bar
UPDATE XXX SET field1 = "bar" WHERE field1="foo"
我可以看到两种解决方案:
GET
符合我要求的项目,然后PUT
更新它们。也许有Etag
或If-Match
保证它是原子的。- 编写一个自定义的
PUT
方法处理程序,这样查询字符串代表SQL中的WHERE子句,PUT
请求的内容代表SET
SQL中的子句
我个人更喜欢后一种解决方案,但是在 中REST
,该PUT
方法应该覆盖 一个资源,一次不是很多资源,也不是仅仅更新资源的某些字段。
我还检查了HTTPPATCH
方法提案。它使“更新资源的某些字段”成为可能,但它也不用于一次更新许多资源。
那么你的解决方案是什么?我想看看你的最佳做法:-)