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

graphql-codegen无法连接Docker化API服务,Schema加载失败

解决graphql-codegen无法连接Docker化GraphQL API的问题

核心原因及对应解决方案

1. 自签名HTTPS证书验证失败

如果你的Docker化API使用自签名HTTPS证书,浏览器和Postman会自动跳过/允许手动信任证书,但graphql-codegen运行在Node.js环境中,默认会严格验证证书有效性,直接导致连接失败。

解决方法:在codegen.yml中为schema添加fetchOptions,关闭证书验证:

overwrite: true
watch: false
schema:
  - "https://localhost:5237/graphql":
      fetchOptions:
        agent:
          rejectUnauthorized: false
documents: "**/*.{gql,graphql}"
generates:
  src/graphql/generated/schema.ts:
    plugins:
      - "typescript"
      - "typescript-operations"
      - "typescript-react-apollo"

或者临时在执行命令时添加环境变量(仅用于测试,不推荐生产环境):

NODE_TLS_REJECT_UNAUTHORIZED=0 graphql-codegen

2. 确认容器端口映射正确性

虽然其他工具能访问,但可再次验证Docker端口映射规则:

docker ps

检查输出的PORTS列,确认存在0.0.0.0:5237->[容器内服务端口]/tcp的映射配置。

3. 切换HTTP协议测试

如果API支持HTTP访问,可临时修改codegen.yml的schema地址为http://localhost:5237/graphql,验证是否是HTTPS证书问题导致的连接失败。

4. 更新graphql-codegen依赖包

尝试升级相关依赖到最新版本,排除版本兼容问题:

yarn upgrade @graphql-codegen/cli @graphql-codegen/typescript @graphql-codegen/typescript-operations @graphql-codegen/typescript-react-apollo

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.03 17:40:07