REST API HTTP方法

时间:2014-08-06 12:34:54

标签: rest http

我们计划对所有检索使用GET,对所有删除操作使用DELETEHTTP PUTPOSTPATCH令人困惑。经过大量阅读,这是我的理解。如果我错了,请纠正。

POST - 不是幂等的;因此可用于创建新资源/从属资源。每次创建新ID时,ID都会更改,因此最适合。

PUT - 幂等;自第二次发出相同请求以来,它不能用于创建,它会再次使用不同的ID创建新资源。       可用于更新,但每次更新时都应传递所有属性。为实现此目的,应在更新操作之前完成GET。开销。

为什么不使用POST进行更新?

PATCH - 不确定它是否适合JAX-RS 1.1。

提前致谢。

1 个答案:

答案 0 :(得分:0)

我认为你的问题是:

  

为什么不使用POST进行更新?

POSTPUT对资源进行不同类型的更改,您可以允许额外的请求向量修改操作,而无需添加更多网址。这样,URL可以保持简短,干净,并反映它代表什么。

但是,清除PATCH通常用于部分更新。因此,像PUT一样,它是幂等的,但只会修改您在请求体中发送的资源部分,而PUT则需要修改整个事物。这在REST中经常被忽略。您可以阅读更多on the Rest Cookbook website

除此之外,据我所知,你的理解非常好。享受休息!