如果你已经搜了很多文章,但发现方案并不能解决问题,可以看看你的工程里yaml配置文件是否存在这项配置:
server:
servlet:
context-path: /impala
它的作用是配置应用的上下文路径,是构成url地址的一部分,简而言之就是在你所有的请求路径之前加了一个前缀。
所以,如果配置了,但是你在客户端发起feign请求时的url却没有加上这个前缀,那就找不到地址了,因此才会报404。
比如,被调用的微服务名叫iov-impala,目标接口路径是/sql/querySql,请求路径应该是:
http://iov-impala/impala/sql/querySql,遗漏server.servlet.context-path配置的路径前缀就会报错。