3
假设我有以下实体:project,company,director。RESTful URI设计 - 为资源提供多个URI用户友好
以下关系适用:
- 一个项目有一个公司
- 某公司一名董事
- 董事可以是多家公司
- 一个公司可以管理多个项目主任
我想像了这样的URI设计:
GET /projects
GET /projects/{id}
GET /projects/{id}/company
GET /projects/{id}/company/director
PUT /projects/{id}/company # makes new/overwrite company
POST /projects/{id}/company # updates company
PUT /projects/{id}/company/director # makes new/overwrite director
POST /projects/{id}/company/director # updates director
难道例如为:
POST /companies # makes a new company
POST /companies/{id} # updates company
GET /companies/{id}
POST /directors # makes a new director
POST /directors/{id} # updates director
GET /directors/{id}
是根据最佳做法,这种良好的URI的设计是好的/人性化的有几个的URI相同的资源,?以上URI设计的优缺点是什么?
不,公司可以管理好几个项目,所以你的“扁平”URI解决方案似乎更好。支持“GET/projects/{1}/company”来减少GET的数量会不会很好? – Parnas 2012-08-01 07:45:24