【发布时间】:2012-07-31 19:57:58
【问题描述】:
假设我有以下实体:项目、公司、主管。
以下关系适用:
- 一个项目有一个公司
- 一家公司只有一名董事
- 一位董事可以是多家公司的董事
- 一家公司可以管理多个项目
我曾设想过这样的 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
对于相同的资源有多个 URI 是否可以/对用户友好,例如:
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 设计的优缺点是什么?
【问题讨论】: