加入我们,于10月8日至10日在纽约市参加活动,了解关于GraphQL Federation和API平台工程的最新技巧、趋势和新闻。加入我们,参加2024年纽约市的GraphQL Summit
文档
免费开始

基本的HTTP联网

通过HTTP与GraphQL服务器通信


已经内置了对通过HTTP与通信的支持。要设置此通信,请将服务器URL作为uri参数传递给ApolloClient构造函数:

import { ApolloClient, InMemoryCache } from '@apollo/client';
const client = new ApolloClient({
uri: 'https://api.example.com',
cache: new InMemoryCache()
});

如果你提供此参数,Apollo
客户端将向指定的URL发送所有操作(查询和)。

请求中包含凭证

Apollo客户端可以将用户凭证(基本身份验证、cookies等)包含在它向GraphQL服务器发出的HTTP请求中。默认情况下,只有当服务器位于与使用Apollo客户端的应用相同的源处时,才会包含凭证。您可以通过在构造函数中为credentials参数提供一个值来调整此行为:

import { ApolloClient, InMemoryCache } from '@apollo/client';
const client = new ApolloClient({
uri: 'https://api.example.com',
cache: new InMemoryCache(),
// Enable sending cookies over cross-origin requests
credentials: 'include'
});

以下为credentials支持的值:

选项描述
same-origin如果服务器URL与请求客户端同源,则发送用户凭据( cookies、基本HTTP身份验证等)。这是默认值。
omit从不发送或接收凭据。
include始终发送用户凭据( cookies、基本HTTP身份验证等),即使是跨源请求。

更多信息,请参阅Request.credentials

自定义请求头

您可以为发送到 GraphQL 服务器的每个 HTTP 请求指定自定义头的名称和值。要这样做,请将headers参数提供给ApolloClient构造函数,如下所示:

import { ApolloClient, InMemoryCache } from '@apollo/client';
const client = new ApolloClient({
uri: 'https://api.example.com',
cache: new InMemoryCache(),
headers: {
authorization: localStorage.getItem('token'),
'client-name': 'WidgetX Ecom [web]',
'client-version': '1.0.0'
}
});
上一页
使用 Webpack 加载查询
下一页
高级HTTP网络
评分文章评分在GitHub上编辑编辑论坛Discord

©2024Apollo Graph Inc.,即Apollo GraphQL。

隐私政策

公司