【发布时间】:2015-02-22 21:28:30
【问题描述】:
我正在尝试为我的 Rest 服务创建 API,但我正在努力遵循我尝试遵循的设计规则。一般来说,我试图遵循(除其他外)这些准则:
- 不要在 URI 中使用动词
- 更改状态时不要使用查询参数
- 使用复数
- 不要使用骆驼皮套
现在,我必须对以下内容进行建模:
- 获取公司的所有部门
- 获取公司的部门
- 删除公司的所有部门
- 删除公司的部门
我正在尝试这样的事情:
GET company/departments
GET company/departments/<depName>
DELETE company/departments
DELETE company/departments {body: department name}
以上内容遵循我提到的准则,但我真的不认为生成的 URI 是好的。尤其是第四个,它的工作不同,并且与第三个具有相同的 URI。
这对我来说是一个常见的问题,我在设计 REST 服务时遇到过很多次。结果是我总是打破一些设计原则来实现我想要的或制作更丑陋的 URI(例如:DELETE company/departments/department)。
所以实际的问题是:
在我的设计中,如何删除具有类似 Restfull URI 的单个部门?
【问题讨论】:
标签: rest restful-url restful-architecture