Я использую GraphQl api для Drupal 8. К сожалению, я не очень хорошо знаю ни одну из технологий.
У меня есть следующий запрос
query {
nodeQuery (offset: 0, limit: 23) {
entities {
entityLabel
entityBundle
entityId
}
count
}
}
, который возвращает вещи, которые выглядят примерно так
{
"data": {
"nodeQuery": {
"entities": [
{
"entityLabel": "Frontpage",
"entityBundle": "section_page",
"entityId": "20"
},
....
Однако некоторые из возвращенных сущностей не являются сущностями section_page, поэтому я бы нравится делать фильтр, который позволяет мне их отфильтровывать.
Я сделал следующее
query {
nodeQuery (offset: 0, limit: 23,filter: {conditions: {field: "entityBundle", value: "section_page", operator: EQUAL}}) {
entities {
entityLabel
entityBundle
entityId
}
count
}
}
, которое не работает, и я бы не ожидал этого, потому что, очевидно, entityBundle не является дочерним элементом узла, поэтому мне следует как-то фильтровать entityBundle внутри сущностей. Не понял, как это сделать.
Ошибка, которую я получаю при выполнении этого запроса:
{
"errors": [
{
"message": "Internal server error",
"category": "internal",
"locations": [
{
"line": 32,
"column": 5
}
],
"path": [
"nodeQuery",
"entities"
]
},
{
"message": "Internal server error",
"category": "internal",
"locations": [
{
"line": 37,
"column": 5
}
],
"path": [
"nodeQuery",
"count"
]
}
],
"data": {
"nodeQuery": {
"entities": null,
"count": null
}
}
}