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

Spring Cloud Gateway路由转发返回空响应问题排查

初始配置存在的两个核心错误

1. 路由目标URI缺失HTTP协议前缀

Spring Cloud Gateway的uri配置必须传入符合标准URI规范的地址,必须显式声明协议类型。初始配置里写的uri: localhost:5861/没有加http://前缀,网关无法将其识别为合法的HTTP服务地址,转发请求时无法正确构造发往后端的请求报文,直接导致响应为空。

2. 路径匹配规则和后端实际接口不匹配,未做路径裁剪

初始配置的路径断言是Path=/product-service/**,Spring Cloud Gateway默认不会裁剪请求路径,会把访问网关的完整路径直接转发给后端:

  • 访问网关的地址是http://localhost:5860/product-service/product时,按照默认转发逻辑,后端收到的请求路径会是/product-service/product
  • 但后端微服务实际提供的接口路径是/product/,后端根本不存在/product-service/product这个接口,自然无法返回正常业务数据。

你给出的可正常运行的配置刚好修复了这两个问题:一方面给uri补上了http://前缀,另一方面把路径断言改成了Path=/product,直接和后端接口路径对齐,所以转发后可以拿到正常响应。

如果你后续需要保留/服务名/**的前缀路由规则(比如网关层统一用服务名做路由区分),不需要把断言改成和后端路径一致,只要给对应路由添加StripPrefix过滤器裁掉前缀即可,配置示例如下:

spring:
  cloud:
    gateway:
      routes:
        - id: product_service
          uri: http://localhost:5861/
          predicates:
            - Path=/product-service/**
          filters:
            - StripPrefix=1

加上这个配置后,访问/product-service/product时,网关会自动把第一段路径/product-service裁掉,转发给后端的路径就是/product,和后端接口匹配,同样可以正常返回响应。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.03 00:48:31