方案
我有一个案例,当我想要通过id,常见案例获取某些内容时,有时候会按日期获取。
例如:
/companies/:id/tickets/:id
/companies/:id/tickets/:date
从我的学习来看,这不是一个好习惯,但是我对此表示怀疑。
我应该使用没有 id 的端点并使用有效负载来获取日期吗?
例如:
/companies/:id/tickets
这应该归还该公司的所有门票吗?因此,从有效负载获取一些日期数据并将其用作过滤器,返回对我来说似乎不对。如果我这样做,我的终点就不会诚实地说明他们在做什么。
我应该在这里使用什么RESTful练习?
答案 0 :(得分:1)
/companies/:id/tickets/:id
- 这对于获取单个资源很合适。
我认为大多数人会同意过滤和搜索资源最好用查询参数完成。实际上,JSONAPI规范有具体建议。
阅读http://jsonapi.org/recommendations/#filtering以及其他建议,它们涵盖了您最常见的用例。
您还可以拥有独立的tickets
资源并为其实施公司ID过滤器,并且通常情况下,为同一资源提供多个网址是完全正常的。