Я отправляю запрос от компонента React, который выглядит следующим образом (Клиент Apollo):
const { data, loading, error, fetchMore } = useQuery(
item.GET_ITEMS_QUERY,
{
variables: {
first: 15,
offset: paginateOffset,
},
errorPolicy: 'all'
});
GET_ITEMS_QUERY выглядит так:
export const GET_ITEMS_QUERY = gql`
query GetItems($first: Float!, $offset: Float!){
getItems(query: {}, first : $first, offset : $offset){
attribute1
attribute2
attribute3
attribute4
}
}`;
Я получаю следующую ошибку с сервера GraphQL:
"Field "getItems" argument "query" of type "ItemsQuery!" is required, but it was not provided."
Я могу проследить это следующим образом:
Resolver GraphQL принимает 3 аргумента, first и offset для разбивки на страницы, и объект запроса типа ItemsQuery:
@InputType()
export class ItemsQuery{
@Field({ nullable: true })
attribute1?: number;
@Field({ nullable: true })
attribute2?: string;
@Field({ nullable: true })
attribute3?: string;
@Field({nullable: true})
attribute4?: Date
}
Я пришел к выводу, что одного только «query: {}» в строке Gql недостаточно при отправке с внешнего интерфейса. Однако, , если я go на игровой площадке и введу точно такой же запрос, он работает, потому что там он распознается как ItemsQuery . Кто-нибудь знает решение?
Спасибо большое <3 </p>