[英]REST API HTTP methods
我们计划将GET
用于所有检索,将DELETE
用于所有删除操作。 HTTP PUT
, POST
和PATCH
令人困惑。 经过大量阅读,这是我的理解。 如果我错了,请更正。
POST
-不是幂等; 因此可用于创建新资源/下级资源。 每次创建新ID时,ID都会更改,因此最适合。
PUT
幂等 由于第二次出现相同的请求,因此不能用于创建,它会再次创建具有不同ID的新资源。 可以用于更新,但是每次更新时都应传递所有属性。 为此,应在更新操作之前完成GET
。 高架。
为什么不也使用POST
进行更新?
PATCH
-不确定是否适合JAX-RS 1.1。
提前致谢。
我认为您的问题是这样的:
为什么不也使用POST进行更新?
使用POST
和PUT
对资源进行不同类型的更改的好处是,您允许额外的请求向量来修改操作,而不必添加更多URL。 这样,URL可以保持简短,整洁并反映其代表的含义。
但是,为了清除故障, PATCH
通常用于部分更新。 因此,就像PUT
一样,它是幂等的,但是只会修改您在请求正文中发送的资源部分,而PUT
则希望修改整个内容。 这在REST中经常被忽略。 您可以在Rest Cookbook网站上阅读更多内容 。
除此之外,据我所知,这是非常好的。 享受休息!
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.