要在Apollo Client的查询中发送头部信息,可以使用ApolloLink
来自定义一个中间件,该中间件负责向请求中添加头部信息。以下是一个示例代码:
import { ApolloClient, InMemoryCache, ApolloLink, HttpLink } from '@apollo/client';
// 创建一个自定义的中间件,用于向请求中添加头部信息
const authMiddleware = new ApolloLink((operation, forward) => {
// 将要发送的头部信息添加到请求中
operation.setContext(({ headers = {} }) => ({
headers: {
...headers,
Authorization: 'Bearer YOUR_AUTH_TOKEN', // 替换为你的实际授权令牌
},
}));
return forward(operation);
});
// 创建一个Apollo Link,将自定义中间件与HttpLink链接起来
const httpLink = new HttpLink({ uri: 'YOUR_GRAPHQL_ENDPOINT' }); // 替换为你的实际GraphQL端点
const link = authMiddleware.concat(httpLink);
// 创建Apollo Client
const client = new ApolloClient({
link,
cache: new InMemoryCache(),
});
在以上代码中,我们创建了一个名为authMiddleware
的自定义中间件。该中间件在每个请求发送之前,将添加一个名为Authorization
的头部信息,其中包含了你的授权令牌(YOUR_AUTH_TOKEN
)。然后我们通过ApolloLink
将该中间件与HttpLink
链接起来,创建了一个新的link
。最后,我们使用这个link
来初始化Apollo Client。
这样,每次发送查询请求时,都会自动添加Authorization
头部信息到请求中。