相关疑难解决方法(0)

RESTful服务中的非CRUD操作

将非CRUD操作添加到RESTful服务的"RESTful"方式是什么?假设我有一个允许CRUD访问这样的记录的服务:

GET /api/car/123           <- Returns information for the Car object with ID 123
POST /api/car              <- Creates a new car (with properties in the request)
PUT /api/car/123           <- Updates car 123 (with properties in the request)
DELETE /api/car/123        <- Deletes car 123    
POST /api/car/123/wheel/   <- Creates a wheel and associates it to car 123
Run Code Online (Sandbox Code Playgroud)

如果我想改变汽车的颜色,我会简单地POST /api/car/123为新颜色添加一个POST变量.

但是,假设我想购买一辆汽车,而且这种操作比简单地更新"用户"记录的"拥有汽车"属性更复杂.简单地做一些类似于POST /api/car/123/purchase"购买"本质上是方法名称的东西是RESTful 吗?或者我应该使用自定义HTTP动词,PURCHASE而不是POST

或者非CRUD操作是否完全超出REST的范围?

rest web-services

98
推荐指数
3
解决办法
3万
查看次数

标签 统计

rest ×1

web-services ×1