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

“GraphQlError:在合并架构后的类型'query_root'中找不到字段

须新
2023-03-14

我已经使用graphql-tools缝合了两个graphqlendpoint。对于一个endpoint模式,它工作得很好,但对于另一个模式,它抛出了这个错误“GraphQlError:field not found in type:'query_root'”。即使我可以在自省的时候看到所有的模式。

    const createRemoteExecutableSchemas = async () => {
        let schemas = [];
        for (let api of graphqlApis) {
            const http =  http_link.HttpLink({
                uri: api.uri,
                fetch:fetch
            });
            const link1 = setContext.setContext((request, previousContext) => {
                return {
                    headers:{authorization: previousContext.graphqlContext.headers.authorization}
                }
            }).concat(http);

            const link2 = setContext.setContext((request, previousContext) => ({
                headers: {
                    'x-hasura-admin-secret': api.secret
                }
              })).concat(http);
            const remoteSchema = await gtool.introspectSchema(link2);
            const remoteExecutableSchema =  gtool.makeRemoteExecutableSchema({
                schema: remoteSchema,
                link:link1
            });
            schemas.push(remoteExecutableSchema);
        }
        return schemas;
    };

    const createNewSchema = async () => {
        const schemas = await createRemoteExecutableSchemas();
        return gtool.mergeSchemas({
            schemas:schemas
        });

    };

    const runServer = async () => {
        const schema = await createNewSchema();
        const server =  new ap_server.ApolloServer({
            schema:schema,
            context: ({ req }) => {
                return {
                    "headers": req.headers
                }
              }
        });
        server.listen().then(({url}) => {
            console.log(`Running at ${url}`);
        });
    };
    ```

共有1个答案

呼延修然
2023-03-14

我找到了解决办法。它发生是因为错误的授权转发到第二个endpoint。

 类似资料:
  • 我有以下avro模式 然而,当我通过kafka流式传输一些事件以与此模式产生火花时,流式数据帧将数据字段描述为一个结构,其成员具有模式中指定的DataType,如下图所示。

  • 我很难理解为什么会发生这种错误。我正在将教程移植到最新版本的Spring、Hibernate和WildFly。我从命令行运行,使用Maven构建和测试应用程序。我得到以下错误: 2015年7月10日下午2:18:03 org.springframework.test.context。TestContextManager prepareTestInstance SEVERE:允许TestExecut

  • 问题内容: 看这个: 现在,我有了一些值和一个从文件中加载的值的实例化。我希望将两个结构合并到一起,以便同时获取两个结构的内容。应该覆盖设置的任何内容,而 可能没有设置所有的字段 。(为什么?因为潜在的用户可能不知道默认值,所以删除该条目等同于设置默认值-我认为) 我认为我需要对此进行反思: 在这里我不确定: 如果根本需要反思 可能有更简单的方法可以做到这一点 我在这里看到的另一个问题是检查零值可

  • 问题内容: 使用spring,使用以下代码: 我懂了 pojo的片段: 问题答案: 从Spring的角度来看,没有一个通过注册的实例可以将内容转换为对象。感兴趣的方法是。上述所有回报的实现,包括。 由于没有人可以读取您的HTTP响应,因此处理失败,并出现异常。 如果你能控制服务器响应,修改设置到,或东西匹配。 如果您不控制服务器响应,则需要编写和注册自己的(可以扩展Spring类,see 及其子类

  • org.springframework.web.client.未知内容类型异常:无法提取响应:没有找到适合响应类型[类net.minidev.json.JSONObject]和内容类型[应用程序/json]的HttpMessageConzer endpoint Url还返回JSONObject,因此不知道为什么不匹配

  • 我是一名spring boot学习者,所以我一直在尝试创建一些基本的spring boot应用程序。我试图运行开发的应用程序时出错。 我的错误是[[https://i.stack.imgur.com/oyQDi.png][1]][1] java: ItemDetails.java:[软件包名称:io.ajithan.springbootstarter.model] ItemResponse.jav