簡體   English   中英

GraphQL Apollo 錯誤請求

[英]GraphQL Apollo Bad request

我正在嘗試在 React 應用程序中使用 GraphQL 和 Apollo 查詢來自 themovieDB 的數據。 我正在發送非常相似的請求,但似乎只有其中一個有效。 我已經嘗試將查詢分成單獨的組件,但它沒有幫助,因此它不太可能與我發送多個查詢的事實有關。 “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 中嘗試查詢並在將變量作為“最新”和字符串中的數字之間切換時,查詢似乎按預期工作。

感謝 Daniel Rearden 的回答,我犯的錯誤是我忘記在查詢中包含子字段,這似乎觸發了錯誤。 再次感謝您的幫助!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM