feign.FeignException$NotFound: [404]

feign调用异常,这个问题硬控我一天~~~还是基础不牢固,特此记录下

1、问题描述

微服务架构Spring Boot中一般使用feign调其他服务器,此时API返回404,没访问到资源。服务器端返回的是4001,token无效或已过期。

2、解决问题

(1)检查服务器资源是否存在,直接测试服务端接口,数据正常,表示是客户端的问题。

(2)检查客户端接口中①RequestMethod方法,②URL路径,③参数,④MediaType

(3)若是首次使用feign,检查启动类是否有@EnableFeignClients等注解

(4)若是首次使用A服务器,检查FeignClient参数:value,url

         @FeignClient(name = "aService", url = "http://localhost:8080"),检查url,name

(5)踩坑点!!!!若是使用nacos注册中心,name与nacos-服务列表-服务名保持一致,一个项目中只会出现一次,当含有N个服务时,务必看下服务名是否正确。博主就遇到小美给的IP地址,去nacos看IP地址几乎一模一样,就在A服务下面写接口,上述方法全试了,还是不管用,后续发现新接口用的B服务器,IP地址端口号有细微差别,一个是5,一个是6.......  解决方案是新开一个B客户端接口,还是不细心,下次一定要多检查~

拓展:由于博主项目走的网关gateway,feign返回404,客户端返回4001+token无效或已过期,所以造成了很多困扰,不仅用postman直接调用A程序接口,还用网关地址调用A程序接口,巧合的是,网关访问该接口时就是返回4001~ http://网关地址/服务名A/后续地址 ,又在这纠结测试,博主对网关鉴权、token这种了解比较欠缺,所以找错方向了==关于网关、鉴权和token后续研究下再写

经过观察,发现服务器名A错了,改成 http://网关地址/服务名B/后续地址 就是正常的❀

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值