REST和子集合

时间:2017-05-15 07:06:52

标签: rest restful-architecture restful-url

我有资源集合用户,每个用户都可以拥有过滤器,因此另一个资源集合是过滤器

所以,要检索过滤器,我们有这个网址

/users/:id/filters

url如何通过id检索过滤器?

  • / users /:id / filters /:id
  • /滤波器/:ID

3 个答案:

答案 0 :(得分:1)

过滤器是第一类实体还是由用户拥有?例如,过滤器是属于两个用户还是以其他方式放置,是创建的过滤器,然后分配给一个或多个人?

如果过滤器是用户的属性(一个过滤器对一个用户,一个用户对一个或多个过滤器) / users /:id / filters /:id 很有意义。如果过滤器本身是与用户相关的不同对象(每个过滤器一个或多个用户),那么任何API(可能甚至两者)都可能有意义,具体取决于用户预期如何使用API​​。如果他们只关心过滤器, / filter /:id 是有意义的,如果他们只关心用户'过滤器 / users /:id / filters /:id 是合适的,或者如果他们的需求在两者之间有所不同,两者都是明智的解决方案。

答案 1 :(得分:0)

/ users /:id / filters /:id 更有意义,因为查询是检索与特定用户相对应的特定过滤器。

答案 2 :(得分:0)

  1. 在根目录中为所有资源分配规范URI(例如/companies/{id}/employees/{id})。
  2. 如果资源不能存在而没有其他资源,则应将其表示为其子资源
  3. 网址更短,更容易记住,并且不需要很多参数。

    https://stackoverflow.com/a/19285843/7527624

    https://stackoverflow.com/a/32820784/7527624