InputType () не переводит из интерфейса React в NodeJs бэкэнд - PullRequest
1 голос
/ 05 февраля 2020

Я отправляю запрос от компонента 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>

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...