Javascript REST连接/混合资源检索。使用哪个控制器?

Javascript REST连接/混合资源检索。使用哪个控制器?,javascript,node.js,rest,sails.js,Javascript,Node.js,Rest,Sails.js,这个问题不容易用英语解释,因为我不是 这很简单,我尝试做一个REST api,我可以有以下URI: 获取/events/10/users/2 获取/users/2/events/10 如您所见,我可以检索在事件中注册的用户,也可以检索链接到用户的事件。这只是一个例子 我现在的问题是如何用良好的逻辑实现?使用哪个控制器?用户还是事件控制器 由于REST,我混合使用了ressource,当然像/users?id=2&event=10和/events?id=10&user=2这样的东西更容易理解,

这个问题不容易用英语解释,因为我不是

这很简单,我尝试做一个REST api,我可以有以下URI:

  • 获取/events/10/users/2
  • 获取/users/2/events/10
如您所见,我可以检索在事件中注册的用户,也可以检索链接到用户的事件。这只是一个例子

我现在的问题是如何用良好的逻辑实现?使用哪个控制器?用户还是事件控制器


由于REST,我混合使用了ressource,当然像/users?id=2&event=10和/events?id=10&user=2这样的东西更容易理解,我知道从哪里检索用户和事件。

对于干净的REST API来说,这两种路由都不是真正必要的,也不是推荐的。你应该做的是:

get /events/10/users   <-- Get list of all users for event #10
get /users/2/events    <-- Get list of all events for user #2
get /events/10         <-- Get all info about event #10
get /users/2           <-- Get all info about user #2

get/events/10/users-all-controller以加载这两个资源?问题是,通过这种方式,我可以从两个控制器加载一个用户和一个事件。你认为这样不好吗?无论如何,您都需要连接用户和事件,很可能是事件->用户(只是为了检查acl),所以我可以选择
get/events/10/users/2
,因为用户不能知道事件,但事件可能必须知道用户。谢谢您的回复,正如您所说的,我将使用这两个,因为两者都是相互链接的。回答你,我不认为这是坏的,但我只是害怕重复我的代码有时。毕竟,也许我可以编写一些服务,使某些部分变得通用……)是的,这样更干净,避免了混合问题。谢谢你。