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

REST junction/mix of resource retrieving. Which controller use?

本文关键字:控制器 检索 连接 混合 资源 REST      更新时间:2023-09-26

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

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

  • /事件/10/用户/2
  • 得到/用户/2/事件/10

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

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

因为REST,我有这样的资源组合,当然像/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

没有理由通过事件API访问用户记录,反之亦然——它们应该通过它们自己的API访问。