当前位置: 首页 > 知识库问答 >
问题:

GraphQL Apollo错误请求

蓝夕
2023-03-14

我试图在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中尝试这些查询并在变量为“最新”和字符串中的数字之间切换时,这些查询似乎可以正常工作。

共有1个答案

张宝
2023-03-14

由于Daniel Rearden的回答,我犯的错误是忘记在查询中包含子字段,这似乎触发了错误。再次感谢您的帮助!

 类似资料:
  • 我有一个基于Spring Web model view controller(MVC)框架的项目。Spring Web模型-视图-控制器(MVC)框架的版本是3.2.8 我有这个控制器 这个URL一切正常:

  • 目前从Angular JS controller中,我试图将JSON数据发送到后端服务。但是我有400个错误的请求错误。 在Controller中,我试图通过http服务发送数据,如下所示:

  • 我得到了这个错误,有什么想法会导致它吗?我试图发送一个DTO,它有一个扩展抽象类的对象列表,我想这个问题可能是因为DTO中的列表,还是因为抽象类的子类?

  • 我正在尝试搜索亚马逊的产品广告,并使用botlenose来帮助我做到这一点。但是,我刚刚收到HTTP错误400。 其他一些重要信息: 我来自巴西,我的标签也来自亚马逊。这是个问题吗? 我确实检查了我的钥匙、秘密和标签,一切正常。我确实在StackOverflow上查看了其他一些问题,但对我来说没有任何效果。 当然,出于安全原因,我更改了密钥。 Traceback(最近一次调用最后一次):File"

  • 我正在使用实现一个联系人应用程序。现在,我正试图通过发送以下格式的put请求来更新联系人 我将XML作为字符串发送,作为请求的主体。这是我的xmlString(请求主体) 我写了下面的代码来发送更新联系人的PUT请求。 当我试图在中发送请求时,联系人更新成功。但是当我试图运行上面的程序时,我得到了 400错误请求错误 我不知道我哪里出错了。任何帮助都将不胜感激!

  • 我正在为一个项目使用Hackerrank API。查看官方文档,点击这里! 在他们的网站上有一个使用UNIREST的例子, 由于我使用的是axios,所以我将其转换为类似的axios代码,如下所示: 我希望这只适用于示例中所示的示例,但它给我带来了以下错误: 请求失败,状态代码为400 错误:请求失败,状态代码为400 在createError(createError.js:16) 在sett(s

  • 我正在尝试从访问代码中获取访问令牌。但存在 400 错误请求错误的错误 我正在使用此链接获取访问代码 https://login.microsoftonline.com/common/oauth2/v2.0/authorize?client_id=xxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx 响应此链接,我正在获取查询字符串中的代码,返回 URL 代码=Mh12d04c8

  • 我正在尝试使用HttpUrlConnection发送帖子。一切看起来都很好,但它保持返回400,就好像参数不是在DataOutputStream中发送的,或者是以错误的方式发送的。 这是返回的内容: 这很奇怪,因为这个卷曲正常工作: 它会返回我想要的访问令牌