Feign声明公共接口请求路径和消费者调用公共接口路径重名问题

来源:2-14 【技术改造】电商系统用户模块集成Feign-1

慕神3666074

2021-07-01 18:02:17

1、声明了公共接口供服务生产者和消费者使用,公共接口如下

http://img.mukewang.com/climg/60dd90930956be9605390176.jpg

2、服务消费者注入公共接口的service,使用相同的请求路径,启动服务报错

http://img.mukewang.com/climg/60dd911409dec82410550287.jpg

报错信息如下: {GET [/useraccount/list]}: There is already 'userAccountController' bean method


解决方案就是服务消费者声明的请求路径和公共接口中声明的请求路径不能一样,是这样吗老师?

如果是这样,公共接口定义请求路径必须和消费者中定义的请求路径不一样,在设计上不友好,需要定义两套请求路径,不方便。消费者这面不像生产者可以直接使用公共接口的路径。


之前成功运行成功过,今天回头复习复习cloud的知识,印象中公共接口的请求路径和消费者的路径在一样的情况下启动程序不会报错的。也许是以前的代码里面在消费者中没有定义类级别的请求路径《

@RequestMapping("/useraccount")


写回答

1回答

姚半仙

2021-07-01

注入的feign接口相当于在托管类,自然会受到spring的路径检查。我记得之前版本里可以把requestmapping里的路径放到方法级注解里,骗过启动检查,试试看在新版本里还行不行

0

Java架构师-技术专家

千万级电商项目从0到100全过程,覆盖Java程序员不同成长阶段的核心问题与解决方案

2672 学习 · 5839 问题

查看课程

相似问题