我目前正在想办法如何构建我们的REST Web服务,以便在创建时将资源链接到其他资源。采取以下方案。
我们/user/123/
位于集合/company/456/users/
中,也位于/user/123/
当我想向公司456添加新用户时,我执行POST
到/company/456/users/
将其添加到此集合中。但是,如果用户资源不仅仅依赖于公司呢?让我们说例如用户资源也跟踪用户的地址信息,因此它也可能依赖于/country/12/
资源。如何将对国家/地区的依赖关系传递给REST Web服务。我应该只在POST请求的有效负载中传递country_id吗?
RESTful方法管理其他资源链接的最佳做法是什么?
答案 0 :(得分:1)
嗯...张贴到/company/456/users/
对我不合适......
如何发布到/users
,甚至更好地发布到/user/{newid}
?
从那里,您可以创建一个用户,也可以在另一个时刻添加链接,或者您可以将所有链接指定为url编码的参数(或在有效负载中,但我更喜欢前者...它只是对我来说看起来更干净,但这只是我个人的意见):
POST /users?company_id=456&county_id=12
或
POST /users?company_id=456
或
POST /users