spring cloud feign调用404

1.在使用spring cloud feign调用提供者的时候报错

feign.FeignException: status 404 reading TestService#addRedis(String)
2018-04-17 14:53:43.427 ERROR 1036 --- [nio-8763-exec-7] o.a.c.c.C.[.[.[.[dispatcherServlet]      : Servlet.service() for servlet [dispatcherServlet] in context with path [/activity-consumer-service] threw exception [Request processing failed; nested exception is com.netflix.hystrix.exception.HystrixRuntimeException: TestService#addRedis(String) failed and no fallback available.] with root cause

feign.FeignException: status 404 reading TestService#addRedis(String)

2.调用提供者代码

@FeignClient(value = "activity-provider-service")
public interface TestService {
    @RequestMapping(value = "/user/add/{id}", method = RequestMethod.GET)
    public String addRedis(@RequestParam("id") String id);
}

@RestController
public class TestController {
    @Autowired
    private TestService testService;

    @GetMapping("/feign/{id}")
    public String findByIdFeign(@PathVariable String id) {
        return testService.addRedis(id);
    }
}

3.错误截图

clipboard.png

在网上找了什么解决方法,都没有效果,有遇到同样问题的人吗?你是怎么解决的?

阅读 35.9k
6 个回答
新手上路,请多包涵

我也遇到同样问题,后来我把各个项目中设置的server.servlet.context-path都去掉后就好用了。
如果你也设置了server.servlet.context-path,你可以去掉试试。
如果用feign,还想保留这个配置,该如何去配置还在探索。

新手上路,请多包涵

这个有可能是被调用的服务内部出了问题,不一定是调用过程的问题,我就是
被调用的服务提供者忘了加 @ResponseBody,本来应该是返回json,结果去寻找视图viewer了,没找到就404了

新手上路,请多包涵
新手上路,请多包涵

我也报找不到的错误,结果 @Controller ❌ ⇒ @RestController ✅
这样改成 rest 的注解 就正常了

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进