You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

在GraphQL Flutter中如何为HTTP Headers传递参数?

在Flutter Apollo Client中传递HTTP Headers

方法一:单个Query请求自定义Headers

直接在QueryOptions中添加headers参数,传入键值对格式的Header信息即可:

Query(
  options: QueryOptions(
    document: gql(userGraphQL),
    variables: {
      "...": "..."
    },
    // 添加HTTP Headers
    headers: {
      "Authorization": "Bearer your_access_token",
      "X-App-Version": "1.0.0"
    },
  ),
  builder: ...
)

headers是Map<String, String>类型,可根据需求添加任意自定义Header。

方法二:全局配置默认Headers(所有请求生效)

如果所有GraphQL请求都需要携带相同的Header(比如全局认证token),可以在初始化ApolloClient时通过HttpLink配置全局默认Header:

// 创建HttpLink并配置全局Headers
final HttpLink httpLink = HttpLink(
  uri: 'https://your-graphql-server.com/graphql',
  headers: {
    "Authorization": "Bearer global_auth_token",
    "Content-Type": "application/json"
  },
);

// 初始化ApolloClient
final ApolloClient apolloClient = ApolloClient(
  link: httpLink,
  cache: InMemoryCache(),
);

如果单个请求需要覆盖全局Header,只需在该请求的QueryOptions中重新定义对应Header字段即可,局部配置会优先于全局配置。

内容的提问来源于stack exchange,提问作者Happy

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.06 21:30:40