Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/linq/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Graphql Can';t从上下文访问请求_Graphql_Apollo_Apollo Server_Koa2 - Fatal编程技术网

Graphql Can';t从上下文访问请求

Graphql Can';t从上下文访问请求,graphql,apollo,apollo-server,koa2,Graphql,Apollo,Apollo Server,Koa2,我使用的是膝关节炎的AKO服务器的代码< Adol Server KOA < < /P> 我已经调试了{req},并且该值未定义。 我看了文件,但还是没有线索。 即使我访问req.headers.authorization并将其放在graphql gui的HTTP头上: { "authorization": "bla" } 该值仍然未定义 app.ts: import cors from "@koa/cors"; import Koa from "koa"; import config

我使用的是膝关节炎的AKO服务器的代码< Adol Server KOA < < /P> 我已经调试了
{req}
,并且该值未定义。 我看了文件,但还是没有线索。 即使我访问
req.headers.authorization
并将其放在graphql gui的HTTP头上:

{
  "authorization": "bla"
}
该值仍然
未定义

app.ts:

import cors from "@koa/cors";
import Koa from "koa";

import config from "./config/environtment";
import server from "./server";

const PORT: number = config.port;

async function bootstrap() {
  try {
    const app: Koa = new Koa();

    server.applyMiddleware({ app });

    app
      .use(cors())
      .listen(PORT, () =>
        console.log(
          `Server running on http://localhost:${PORT}${server.graphqlPath}`,
        ),
      );
  } catch (error) {
    console.error(error);
  }
}

bootstrap();
server.ts:

import { ApolloServer } from "apollo-server-koa";

import typeDefs from "./graphql/schema";
import resolvers from "./graphql/resolvers";
import context from "./graphql/context";

export default new ApolloServer({
  typeDefs,
  resolvers,
  context,
});
context.ts

export default ({ req }) => {
  console.log(req) // return undefined.
  return {
    test: "test",
  };
};

这些文档是专门针对
apollo server
,它在引擎盖下使用
apollo server express
。我相信对于膝关节炎服务器膝关节炎,KOA,这些选项在一个对象中传递,其中包含了KOA的<代码> CTX字段。因此,以下措施应该有效:

export default ({ ctx }) => {
  console.log(ctx.request)
  console.log(ctx.response)
  return {};
};

这些文档是专门针对
apollo server
,它在引擎盖下使用
apollo server express
。我相信对于膝关节炎服务器膝关节炎,KOA,这些选项在一个对象中传递,其中包含了KOA的<代码> CTX字段。因此,以下措施应该有效:

export default ({ ctx }) => {
  console.log(ctx.request)
  console.log(ctx.response)
  return {};
};