GraphQL Apollo Плохой запрос - PullRequest
       0

GraphQL Apollo Плохой запрос

0 голосов
/ 10 января 2020

Я пытаюсь запросить данные из themovieDB с помощью GraphQL и Apollo в приложении реагирования. Я отправляю очень похожие запросы, но, похоже, работает только один из них. Я попытался разделить запросы на отдельные компоненты, но это не помогает, поэтому маловероятно, что это связано с тем, что я отправляю несколько запросов. «ONE_MOVIE_BY_ID_QUERY» вызывает ошибку «Ошибка: ошибка сети: ответ не выполнен: получен код состояния 400». Вот как я называю запросы:

const {
        loading : loadingLatest,
        error   : errorLatest,
        data    : latestData,
        refetch : refetchLatest
    } = useQuery(LATEST_MOVIE_QUERY, {
        variables : { movieId: 'latest' }
    });

    const { loading, error, data, refetch } = useQuery(ONE_MOVIE_BY_ID_QUERY, {
        variables : { movieId: movieState },
        skip      : !latestData
    });

Сами запросы:

export const ONE_MOVIE_BY_ID_QUERY = gql`
    query OneMovieByIdQuery($movieId: String!) {
        oneMovieById(movieId: $movieId) {
            id
            adult
            title
            poster_path
            original_language
            original_title
            overview
            release_date
            runtime
            budget
            belongs_to_collection
            imdb_id
            revenue
            tagline
            genres
            production_countries
        }
    }
`;

export const LATEST_MOVIE_QUERY = gql`
    query OneMovieByIdQuery($movieId: String!) {
        oneMovieById(movieId: $movieId) {
            id
        }
    }
`;

И, наконец, схема GraphQL

oneMovieById            : {
            type    : MovieType,
            args    : {
                movieId : { type: GraphQLString }
            },
            resolve(parent, args) {
                return axios
                    .get(`https://api.themoviedb.org/3/movie/${args.movieId}?api_key=${myAPIKey}`)
                    .then((res) => res.data);
            }
        }

Я должен указать, что запросы Кажется, работает, как задумано, когда я пробую их в GraphiQL и переключаюсь между наличием переменной как «самой последней» и как числа в строке.

1 Ответ

0 голосов
/ 10 января 2020

Благодаря ответу Даниэля Рардена я допустил ошибку: я забыл включить подполя в запрос, и это, похоже, вызывает ошибку. Еще раз спасибо за помощь!

...