[英]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.