Клиент Apollo не отправляет заголовки в конечную точку API
У меня есть клиент Apollo, который я пытаюсь подключить к серверу graphql впервые. Я не могу заставить его отправлять заголовки...
Мой компонент, который создает экземпляр клиента Apollo, выглядит следующим образом...
const cache = new InMemoryCache();
const stateLink = withClientState({ resolvers, cache, apolloState });
const httpLink = new HttpLink({
uri: urls.graphqlServer + urls.graphqlEndpoint,
options: {
credentials: 'include',
headers: {
authorization: 'bearer token',
'X-CSRF-Token': 'sakldjsalkj',
'Custom-Header': 'my header'
}
}
});
const client = new ApolloClient({
cache,
link: ApolloLink.from([stateLink, httpLink]),
connectToDevTools: true
});
window.__APOLLO_CLIENT__ = client;
return (
<ApolloProvider client={client}>
<Root />
</ApolloProvider>
);
и тогда заголовки не содержат ничего, что я установил...
:authority:localhost:8080
:method:OPTIONS
:path:/graphql
:scheme:https
accept:*/*
accept-encoding:gzip, deflate, br
accept-language:en-US,en;q=0.9,ko;q=0.8,zh-CN;q=0.7,zh;q=0.6
access-control-request-headers:content-type
access-control-request-method:POST
origin:http://localhost:8000
referer:http://localhost:8000/app
user-agent:Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_3)
AppleWebKit/537.36 (KHTML, like Gecko) Chrome/64.0.3282.186 Safari/537.36
Есть идеи, как это исправить?
1 ответ
Решение
Вы добавили опции для заголовков в неправильный объект "опции". Посмотрите на документ.
Это должно работать, когда вы меняете свою ht tp-ссылку apollo на:
....
const httpLink = new HttpLink({
uri: urls.graphqlServer + urls.graphqlEndpoint,
credentials: 'include',
headers: {
authorization: 'bearer token',
'X-CSRF-Token': 'sakldjsalkj',
'Custom-Header': 'my header'
}
});
...