1
我有一个很大的问题,我必须使用graphql-server-hapi
模块。 一切工作,直到我必须从CORS的浏览器请求我的API。Apollo服务器HAPI CORS预取不起作用
这里的寄存器配置:
register : GraphQLServer.graphqlHapi,
options : {
path : '/graphql',
graphqlOptions : {
schema : Schema,
graphiql : true
},
route : {
cors : true
}
}
一切都很好,与POST
请求我在本地主机与邮差运行,但是当我要运行一个OPTIONS
请求(如浏览器都行)我得到了一个404与访问控制请求,方法错误:
{
"statusCode": 404,
"error": "Not Found",
"message": "CORS error: Missing Access-Control-Request-Method header"
}
我到处搜寻,但似乎没有人在我面前遇到此问题(?!)。 官方文档说cors : true
足以启用CORS ...
我试图在寄存器选项上手动添加OPTIONS
方法,没有任何影响。
感谢您的帮助!
你试过'server.connection({routes:{cors:true}});'无论你在哪里创建你的服务器? – Ankh
当然可以:我把'cors:true'放在连接定义和graphql寄存器选项中。虽然我想知道是否有办法强制graphql接受“OPTIONS”方法,因此CORS可以工作。 –
又一次愚蠢的问题,但是当你在postman中做出“OPTIONS”请求时,你是否实际上在请求中包含了“Access-Control-Request-Method”标头? – Ankh