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