У меня есть ресурс (например, сообщения), который имеет отношение ко многим другим ресурсам (например, комментариям). Мне не нужны никакие поля связанного ресурса, кроме их собственных ссылок (чтобы получать их асинхронно по запросу). Ответ должен выглядеть примерно так:
{
"links": {
"self": "http://example.com/posts/1?xxx",
},
"data": [{
"type": "posts",
"id": "1",
"attributes": {
"title": "JSON API paints my bikeshed!"
},
"relationships": {
"comments": {
"links": {
"self": "http://example.com/posts/1/relationships/comments",
"related": "http://example.com/posts/1/comments"
},
"data": [
{ "type": "comments", "id": "5" },
{ "type": "comments", "id": "12" }
]
}
},
"links": {
"self": "http://example.com/posts/1"
}
}],
"included": [{
"type": "comments",
"id": "5",
"links": {
"self": "http://example.com/comments/5"
}
}, {
"type": "comments",
"id": "12",
"links": {
"self": "http://example.com/comments/12"
}
}]
}
Мой вопрос: как должен выглядеть URL-адрес запроса?
Моя идея заключалась бы в том, чтобы включить комментарии, а затем использовать пустой разреженный набор полей, чтобы избежать получения каких-либо полей комментариев, а только ссылку на себя (+id, тип). Следовательно, это должно выглядеть примерно так http://example.com/posts/1?include=comments&fields[comments]=[]
. Поэтому мне нужно что-то вроде пустого разреженного набора полей.
Спецификация API JSON мало говорит о разреженных наборах полей (http://jsonapi.org/format/#fetching-sparse-fieldsets) и их связь со ссылками.