JSON API过滤器包含的资源



问题是关于JSON API规范以及如何正确地执行请求(我使用ruby on rails和jsonapi资源gem,但这是一个普遍的问题,无论如何,我知道如何实现它,我只是想遵循jsonapi的规则:http://jsonapi.org/format/)

情况1:

  • 我要得到所有的货架
  • 我想把书架上所有的书都包括进去
  • 在这种情况下我应该使用的get是:www.library.com/shelves?include=books

情况2:

  • 我想要得到所有的书,但只有那些标记为未读的书

  • 我应该使用的get是:www.library.com/books?filter[unread]=true

如何设计包含未读书籍的所有书架的正确要求?

看不懂

www.library.com/shelves?include=books&filter[books.unread]=true ?

www.library.com/shelves?include=unread_books ?<-必须指定另一个资源,未读的图书

www.library.com/shelves?filter[books.unread]=true ?

做这件事最正确的方法是什么?

编辑

在与我的技术主管和其他一些程序员交谈后,在这种情况下,第一种选择最受欢迎

我打赌是第一个:

www.library.com/shelves?include=books&filter[books.unread]=true

JSON API目前不支持过滤包含,但这并不意味着你必须严格遵守定义(查看https://github.com/cerebris/jsonapi-resources/issues/314)

我会用和brian一样的方法:www.library.com/shelves?include=books&filter[books.unread]=true

我只是想给答案更多的背景。

最新更新