2013-05-08 224 views
3

我目前正在弄清楚如何构建我们的REST web服务,以便在创建时可以将资源链接到其他资源。采取以下方案。REST:如何在创建新资源时传递相关资源?

我们/user/123/谁在/user/123/

当我想添加一个新用户到公司456我执行POST/company/456/users/将其添加到这个集合坐镇集合中/company/456/users/,并在全球的用户集合。但是,如果用户资源不仅仅取决于公司,该怎么办?比方说,用户资源也跟踪用户的地址信息,因此它也可能取决于/country/12/资源。我如何将国家的依赖关系传递给REST Web服务。我应该在POST请求的有效负载中传递一个country_id吗?

什么被认为是RESTful方法管理其他资源链接的最佳做法?

回答

1

嗯...张贴到/company/456/users/不看我的权利...... 什么张贴到/users,甚至更好的/user/{newid}

从那里,你可以创建一个用户,也可以在另一个时刻添加链接,或者你可以指定所有的链接为url编码参数(或在有效载荷中,但我更喜欢前者...它只是看起来更清洁给我,不过这只是我的个人意见):

POST /users?company_id=456&county_id=12

POST /users?company_id=456

POST /users