springboot 多模块下同包名控制器 @RestController 注解不全部生效

233 阅读1分钟
版本信息:
    springboot:3.2.4
    java:17

springboot 项目中,设置了多个模块,文件目录如下:

image.png

在 system-controller 和 yuqn-boot-start 模块下都建了 com.yuqn.controller.* 类,代码如下:

image.png

image.png

启动项目后,访问 /main/getMessage 接口没报错,访问 /sys/getMessage 接口却报错了:

image.png

百度了一下,是因为我两个控制器放在相同名字的包下导致 sprin 只加载了一个:

image.png

知道原因就好办了,那我只要保证控制器不在同一个包下就可以了,在 start 模块下新增个控制器,如下:

image.png

这次两个接口都能访问了,当然原先该模块下的另外一个控制器被我停止使用了(不存在相同的接口)。