为了账号安全,请及时绑定邮箱和手机立即绑定

在 spring 中创建具有相同名称的替换 rest 控制器会导致 bean 名称冲突?

在 spring 中创建具有相同名称的替换 rest 控制器会导致 bean 名称冲突?

犯罪嫌疑人X 2022-01-12 16:43:08
长话短说,我想更换 spring boot 中现有的控制器,因为它并不令人满意。因此,我创建了一个新的 rest 控制器类并开始向它添加功能。我想维护旧控制器,直到将来可以将其删除(一旦新版本已完全实施)所以我实际上有两个同名的类。新班级@RestController@RequestMapping("/api/v2/parts")public class PartController implements PartsApi {...老班@RepositoryRestControllerpublic class PartController {启动服务时出现以下错误:Annotation-specified bean name 'partController' for bean class [controller.v2.PartController] conflicts with existing, non-compatible bean definition of same name and class [controller.PartController]我尝试使用@Qualifier注释,但无法编译。如何在 Spring Boot 应用程序中拥有两个同名的 Rest 类?注意:我讨厌尝试重命名 PartController2
查看完整描述

1 回答

?
侃侃尔雅

TA贡献1801条经验 获得超16个赞

我曾经遇到过类似的问题,在 @RestController 注释中传递显式名称后它得到了解决,默认情况下在自动装配时采用类名称。试试这个 :


V2版本:


@RestController("PartControllerV2")

@RequestMapping("/api/v2/parts")

public class PartController implements PartsApi {

V1版本:


@RepositoryRestController("PartControllerV1")

public class PartController {


查看完整回答
反对 回复 2022-01-12
  • 1 回答
  • 0 关注
  • 164 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信