У меня есть огромная проблема с модулем graphql-server-hapi
, который я должен использовать. Все работает, пока я не буду запрашивать свой API из браузера с CORS.Apollo Server HAPI CORS prefetch не работает
Вот конфигурация регистра:
register : GraphQLServer.graphqlHapi,
options : {
path : '/graphql',
graphqlOptions : {
schema : Schema,
graphiql : true
},
route : {
cors : true
}
}
Все нормально с POST
запросов, я бегу с Почтальон на локальном хосте, но когда я хочу запустить OPTIONS
запрос (как браузер будет делать), я получил 404 с ошибкой на Access-Control-Request-Method:
{
"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' в определении соединения и в опции register graph. Хотя мне интересно, есть ли способ заставить graphql принять метод «ОПЦИИ», чтобы CORS мог работать. –
Глупый вопрос снова, но когда вы сделали запрос «ОПЦИИ» в почтальоне, вы действительно включили заголовок 'Access-Control-Request-Method' с запросом? – Ankh