Приветствую.
Использую модуль json api в drupal 8 для spa.
При запросе http://мойсайт/jsonapi/node/hotels?_format=api_json приходит json , но в нем нет урлов картинок (примененных в стилях), в этом json нашел объект relationships в котором то самое поле картинок в нем объект links
"type": {
"data": {
"type": "node_type--node_type",
"id": "547c08cc-ccac-402e-be06-cee29ae57180"
},
"links": {
"self": "http://d8rest/jsonapi/node/hotels/a0d33f4a-15ac-4357-bb0f-bb10931c70e2/relationships/type",
"related": "http://d8rest/jsonapi/node/hotels/a0d33f4a-15ac-4357-bb0f-bb10931c70e2/type"
}
},
"field_img": {
"data": [
{
"type": "file--image",
"id": "d571400d-1622-4b8a-9eec-12d39219e123",
"meta": {
"alt": "",
"title": "",
"width": 1280,
"height": 850
}
}
],
"links": {
"self": "http://d8rest/jsonapi/node/hotels/a0d33f4a-15ac-4357-bb0f-bb10931c70e2/relationships/field_room_img",
"related": "http://d8rest/jsonapi/node/hotels/a0d33f4a-15ac-4357-bb0f-bb10931c70e2/field_room_img"
}
}
}
То есть мне надо еще дополнительно делать запрос по ссылке указанный в объекте links ?
Может кто то подскажет, как мне сразу одним запросом получить все данные о объекте с урлами картинок. Спасибо
Комментарии
По спецификации JSON API, необходимо в запрос добавить параметр include=
И в нем через запятую перечислить поля-связи, которые необходимо подгрузить к "основной" сущности..
В Вашем случае это поле "field_img" (include=field_img)
http://jsonapi.org/format/#fetching-includes
В drupal 8 с JSON API работать пока не приходилось, возможно ошибаюсь,
скорее всего запрос должен быть таким:
http://мойсайт/jsonapi/node/hotels?include=field_img
в ответе появится секция included примерно такая:
http://jsonapi.org/format/#document-compound-documents
В ней будет сущность поля field_img - "полностью", со всеми доступными полями.
Выше ответили правильно. Но это будут оригиналы картинок. Для стилей нужно ставить Consumer image styles. Но как там их запрашивать, хз, я ни разу не пользовался, но думаю в документации к модулю есть.
Thanks! Поставил Consumer image styles, настроил, пришли урлы стилей