REST服务资源命名

时间:2016-10-29 14:00:05

标签: rest

我正在设计新的REST API端点,并对API网址有疑问。

例如,我有一个Product实体和相应的/products API。

为了获得特定产品,一切都很清楚 - 我必须使用类似的东西:

GET /products/{productId}

为了创造新的一切,一切都很清楚:

POST /products with a product details in the HTTP request body

但如何处理产品更新?

我现在可以看到两个选项:

PUT /products/{productId} with a new product details in the HTTP request body

PUT /products with a {productId} and new product details in the HTTP request body

产品删除的相同问题。

此处将{productId}发送到服务器的最佳做法是什么?

1 个答案:

答案 0 :(得分:1)

您应该使用 PUT / products / {id} 来更新产品。 在正文中,您应该发送资源或更改。

  

PUT方法请求将所包含的实体存储在   提供了Request-URI。如果Request-URI引用已存在的URI   资源,封闭的实体应该被视为修改过的   驻留在原始服务器上的版本。

参考HTTP-Methods