Я использую несколько контроллеров в разных пакетах, но при запуске моего загрузочного приложения это дает сбой при запуске:
org.springframework.beans.factory.BeanDefinitionStoreException: Failed to parse configuration class [com.xyz.UserIntegrationServiceApplication]; nested exception is org.springframework.context.annotation.ConflictingBeanDefinitionException: Annotation-specified bean name 'userController' for bean class [com.xyz.a.UserController] conflicts with existing, non-compatible bean definition of same name and class [com.xyz.b.UserController]
@SpringBootApplication
public class UserIntegrationServiceApplication {
public static void main(String[] args) {
SpringApplication.run(UserIntegrationServiceApplication.class, args);
}
}
@RestController
@RequestMapping("/api/")
public class UserController {
public static final Logger logger = LoggerFactory.getLogger(UserController.class);
@Autowired
UserService userService;
@RequestMapping(value = "/di/user", method = RequestMethod.POST, consumes = {MediaType.APPLICATION_JSON_VALUE}, produces = {MediaType.APPLICATION_JSON_VALUE})
public ResponseEntity<?> createUser(@RequestBody(required = true) User user, @RequestHeader(required = true, value = HttpHeaders.AUTHORIZATION) String authorization) {
return userService.createUser(user,authorization);
}
}
}
@RestController
@RequestMapping("/api/")
public class UserController {
public static final Logger logger = LoggerFactory.getLogger(UserController.class);
@Autowired
UserService userService;
@RequestMapping(value = "/ds/user", method = RequestMethod.POST, consumes = {
MediaType.APPLICATION_JSON_VALUE }, produces = { MediaType.APPLICATION_JSON_VALUE })
public ResponseEntity<?> loginUser(@RequestBody(required = true) LoginRequest login,
@RequestHeader HttpHeaders headers) {
return userService.loginUser(login, headers);
}
}
###########Пожалуйста помоги мне с этим
обновил код контроллера .. проверьте пожалуйста
Есть ли причина, по которой, помимо переименования одного из двух контроллеров, должно быть два контроллера? Исходя из предоставленного кода, похоже, что методы createUser и loginUser могут находиться в одном контроллере, потому что они в любом случае сопоставляются с разными местами после / api /.
Я могу установить тот же контроллер, если не найду никакого решения .. но я хочу иметь отдельные контроллеры, потому что мой API будет воздействовать на совершенно отдельные сторонние приложения через контроллеры.




Вам просто нужно установить разные имена bean-компонентов для двух UserController.
Возможный дубликат: Почему я не могу иметь такое же имя контроллера в другом пакете с конфигурацией на основе аннотаций?
Не могли бы вы предоставить свои коды
Controller?