使用REST DELETE的正确方法?
问题描述:
我在尝试删除连接到产品的一些项目。像这样:使用REST DELETE的正确方法?
DELETE /products/Special product/11
因此,“特殊产品”中的第11项将被删除?这是使用动词DELETE
的正确方法吗?我应该url编码Special product
对不对?
特殊产品是而不是存储在数据库中。所以我不能使用一些ID。我必须像这样写出来(alpha +数字)。
答
如果
/products/Special prodcut
是收集资源的所有 “特殊产品”,如果
/products/Special product/11
是ID为11的 “特殊产品” 的资源,那么你的DELETE
使用是RESTful。
答
据我了解,你的产品
/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}