JSON API过滤器包含资源

时间:2016-10-23 15:59:56

标签: json json-api jsonapi-resources

问题是关于JSON API规范以及请求的正确性 (我在rails和json api resources gem上使用ruby,但这是一个普遍的问题,我知道如何实现它,我只想遵循JSON API的规则:http://jsonapi.org/format/

情况1:

  • 我希望得到所有货架
  • 我想要包括这些货架上的所有书籍
  • 在这种情况下,我应该使用的是: www.library.com/shelves?include=books

情况2:

  • 我想获得所有书籍,但只有标记为未读的书籍

  • 我应该使用的是: 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

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

修改

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

2 个答案:

答案 0 :(得分:5)

我打赌第一个:

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

答案 1 :(得分:1)

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

我会采用与布莱恩相同的方法: l_tab

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