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

微服务项目中Reservation Service经Gateway调用报404错误排查

问题诊断与解决方法

核心原因

导致Reservation Service通过API Gateway访问返回404的关键问题出在服务配置文件的拼写和属性名错误,具体如下:

  1. Eureka配置拼写错误:配置中误写为euraka.client.fetch.registry,正确单词是eureka,且标准属性名应为eureka.client.fetch-registry(采用短横线分隔,而非点分隔)。
  2. Eureka属性名大小写错误:eureka.client.service-url.defaultzone中的defaultzone需改为defaultZone(Spring Cloud配置属性对驼峰大小写敏感),同时Eureka Server地址结尾缺少斜杠,可能影响服务与注册中心的通信完整性。
  3. 尽管Eureka控制台显示服务已注册,但上述配置错误会导致服务无法正确同步注册表元数据,API Gateway无法正常路由请求到可用的Reservation Service实例。

解决步骤

1. 修正Reservation Service配置文件

将配置替换为正确版本:

server.port=8082
spring.application.name=reservation-service
eureka.client.register-with-eureka=true
eureka.client.fetch-registry=true
eureka.client.service-url.defaultZone=http://localhost:8761/eureka/
spring.datasource.url=jdbc:mysql://localhost:3306/projectschema
spring.datasource.username=root
spring.datasource.password=12345678Aa
spring.jpa.generate-ddl=true
spring.jpa.defer-datasource-initialization=true
spring.jpa.hibernate.ddl-auto=update
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver

关键修正项:

  • 修正euraka拼写为eureka
  • 将fetch.registry改为标准属性fetch-registry
  • 修正defaultzone为defaultZone
  • 为Eureka地址添加结尾斜杠/

2. 重启服务

  • 先重启Reservation Service,确保新配置生效,服务能正常与Eureka Server同步注册表
  • 重启API Gateway,让网关拉取最新的服务实例信息

3. 验证与排查

  • 直接访问Reservation Service本地地址http://localhost:8082/reservation/reservation,确认服务自身接口正常
  • 再次调用网关地址http://localhost:9000/reservation/reservation,检查是否返回预期内容
  • 若仍有问题,查看API Gateway日志,确认请求是否正确转发到Reservation Service实例

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.14 17:45:57