#javascript #reactjs #graphql #fetch
#javascript #reactjs #graphql #выборка
Вопрос:
Я продолжаю получать ту же ошибку при попытке получить список с помощью graphql в приложении react.
Мой следующий запрос:
const query = `{
getConstructionNumberListing(filter: "{"subProject__id": "36"}") {
edges {
node {
id,
constructionNumber,
indicativePrice,
definitivePrice,
isDefinitive,
housingType {
... on object_HousingType {
id,
description
}
}
}
},
totalCount
}
}`
const url = constants.api.url;
const body = JSON.stringify({
query: query,
})
return new Promise((resolve) => {
fetch(url, {
method: 'POST',
headers: new Headers(),
body: body
})
// Parse the response
.then(res => res.json())
// Trigger the callback if no errors were thrown
.then(res => {
console.log('res', res)
resolve(res);
})
.catch(er => resolve(er))
})
выдает мне эту ошибку при выборке в react:
{message: "Syntax Error: Expected :, found String ": "", extensions: {category: "graphql"}, locations: [{line: 2, column: 57}]}
Кто может помочь мне решить эту проблему? другой запрос, подобный следующему, работает нормально
{
getProjectListing(after: 0) {
edges {
node {
id
projectName
}
}
}
}
Также хочу отметить, что запрос отлично работает в Postman, синтаксис взят из документов:
https://github.com/pimcore/data-hub/blob/master/doc/10_GraphQL/04_Query/10_Filtering.md
Комментарии:
1. ‘Content-Type’: ‘application / json’ .. также вы должны использовать ‘переменные запроса’ для передачи параметров (см. Документы), протестировать на игровой площадке (используя переменные), затем воссоздать в коде, сравнить необработанные детали запроса при возникновении проблем
Ответ №1:
Ваше filter
значение не является допустимым синтаксисом, не уверен, что вы пытаетесь сделать, но это может выглядеть так:
{
getConstructionNumberListing(filter: "{ subProject__id: 36 }") {
...
}
}
Комментарии:
1. Спасибо за ваш ответ. Если я попытаюсь это сделать, то получу следующую ошибку: res Object data: Object getConstructionNumberListing: null Ошибки прототипа объекта: Массив (1) 0 Расширения объекта: {категория: «pimcore.datahub»} местоположения: [{строка: 2, столбец: 3}] (1) сообщение: «невозможнодля декодирования фильтра» путь: [«getConstructionNumberListing»] (1) Прототип объекта
2. Синтаксис взят из документов: github.com/pimcore/data-hub/blob/master/doc/10_GraphQL/04_Query /…
Ответ №2:
Вы можете использовать библиотеку, подобную apollo client, для отправки запросов graphql в react:
Комментарии:
1. Спасибо за ваш ответ, но я бы хотел просто использовать выборку. Должно быть возможно