这周跟同事本地联调新接口,项目使用的技术是spring cloud ,eureka,feign,apollo。请求新接口时,偶尔会报404的问题。后来才想明白,由于开发的新接口,本地联调阶段,代码还没有推送到测试分支,测试环境没有这个接口的代码,并且没有开发环境的配置中心,所以默认拉取的是测试环境的配置中心的配置,因此请求新接口时偶尔会路由到测试环境,就会报404的问题。
解决方案:在服务消费端的FeignClient注解上,加上url = "127.0.0.1:21102"配置,强制路由到url属性上指定的IP、端口的服务提供端。
@FeignClient(value = Constants.SYS_NAME,url = "127.0.0.1:21102",path = Constants.SYS_NAME,configuration = FeignConfiguration.class)