REST联结/资源检索的混合。 哪个控制器使用?

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

那么这很简单,我尝试做一个REST API,我可以有这些URI:

  • get / events / 10 / users / 2
  • get / users / 2 / events / 10

正如你所看到的,我可以检索一个在事件中注册的用户,我可以检索一个链接到用户的事件。 这只是一个例子。

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

因为REST,我有这样的资源组合,肯定是/ user?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 

没有理由通过事件API访问用户logging,反之亦然 – 他们应该通过自己的API访问。