正确使用REST DELETE的方法?

时间:2015-05-04 07:34:01

标签: rest

我正在尝试删除与产品相关的一些项目。像这样:

DELETE /products/Special product/11

第11项"特殊产品"会被删除吗?这是使用DELETE动词的正确方法吗?我应该url编码Special product吧?

特殊产品存储在数据库中。所以我不能使用一些id。我必须像这样(alpha +数字)写出来。

2 个答案:

答案 0 :(得分:1)

如果

/products/Special prodcut

所有“特殊产品”的收集资源,如果是

/products/Special product/11

是ID为11的“特殊产品”资源,那么您对DELETE的使用是RESTful。

答案 1 :(得分:1)

据我了解,您有一系列产品

/products

您正在选择“特殊产品”(它的某种标识符?)

/products/special product/

这个产品包含多个“商品”?并且您想要删除与id = 11的“特殊产品”相关的项目?如果是这种情况,那么uri应该更像是

DELETE /products/special product/items/11

例如,您有包含图片的相册。获取所有专辑:

GET /albums

获取一张专辑

GET /albums/{albumId}

获取一张专辑的所有图像

GET /albums/{albumId}/images

从一张/这张专辑中删除/删除一张图片

DELETE /albums/{albumId}/images/{imageId}