我正在设计服务的REST API,并陷入了嵌套资源的正确方法。
资源:合作伙伴,票证,设置
资源之间的联系:
- 伙伴有很多票,
- 合作伙伴有一组设置,
业务逻辑:
- 您可以将所有合作伙伴列为匿名用户,
- 您可以将新票证添加为指定合作伙伴的匿名用户,
- 只有伙伴可以列出他的门票,
- 只有合作伙伴可以修改票证,
- 只有合作伙伴可以列出设置,
- 只有合作伙伴可以修改设置,
到目前为止,我所做的是:
合作伙伴资源
GET / partners-列出所有合作伙伴
GET / partners /:id-显示由:id参数指定的合作伙伴的详细信息
GET / partners /:partner_id / tickets-合作伙伴的票据列表
GET / partners /:partner_id / tickets /:id-详细信息指定伙伴的工单的
POST / partners /:partner_id / tickets-保存新工单
PUT / partners /:partner_id / tickets /:id-更新由:id参数指定的工单
GET / partners /:partner_id / settings-列出伙伴的设置
PUT / partners /:partner_id / settings-更新合作伙伴的设置
问题/疑问
将嵌套资源(票证,设置)拆分为单独的资源或将其复制为单独的资源是否是正确的方法?
例如
GET / tickets /:id
POST / tickets
PUT / tickets /:id
GET /设置
PUT /设置