Назад к вопросам
Senior
3
Будет ли работать @RequestMapping если класс помечен только @Component?
Компании, где спрашивали
kode.ru
Ответ от нейросети
sobes.tech AI
Аннотация @RequestMapping в Spring MVC предназначена для обработки HTTP-запросов и обычно используется вместе с аннотациями, которые регистрируют класс как контроллер, например, @Controller или @RestController.
Если класс помечен только @Component, то Spring зарегистрирует его как обычный компонент, но не как контроллер, и @RequestMapping не будет работать — запросы не будут маршрутизироваться к методам этого класса.
Для того чтобы @RequestMapping работал, класс должен быть распознан Spring как контроллер, то есть иметь аннотацию @Controller или @RestController.
Пример:
@Component // этого недостаточно
@RequestMapping("/api")
public class MyController {
@RequestMapping("/hello")
public String hello() {
return "Hello";
}
}
// Правильно:
@RestController
@RequestMapping("/api")
public class MyController {
@RequestMapping("/hello")
public String hello() {
return "Hello";
}
}
Таким образом, без @Controller или @RestController @RequestMapping не будет работать.