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

Docker Compose服务间可ping通但API网关转发请求返回空响应求助

问题根因

你遇到的空响应问题核心是Spring Cloud Gateway的路由配置缺少HTTP协议声明:

  • Spring Cloud Gateway要求路由uri参数必须指定通信协议,你当前配置只填了books-ms:8000,网关无法识别该用什么协议转发请求,才会返回无内容的200响应。
  • 额外的小问题:你配置了两个id同为user_service的路由,路由id是唯一标识,重复id会导致配置加载异常,也可能引发意料之外的路由匹配问题。

解决方案

修改网关的application.yml路由配置,所有uri前补充http://协议头,同时修改重复的路由id:

server:
  port: 8080
spring:
  cloud:
    gateway:
      routes:
        - id: user_service
          uri: 'http://login-ms:8001'
          predicates:
            - Path=/api/users/**
        - id: user_service_business # 修正重复id
          uri: 'http://login-ms:8001'
          predicates:
            - Path=/api/business/**
        - id: book_service
          uri: 'http://books-ms:8000'
          predicates:
            - Path=/api/books/**
        - id: payment_service
          uri: 'http://payment-ms:8002'
          predicates:
            - Path=/api/payment/**

验证操作

修改配置后重新构建网关镜像,或者将配置文件通过卷挂载到网关容器内,重启网关服务后再访问localhost:8080/api/books即可拿到正常的图书列表响应。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 23:48:03