Встречается на собеседованиях • сегодня

Почему при наличии контроллера в контексте DispatcherServlet не сможет найти его

Возможные причины:

  1. Отсутствие аннотации @Controller или @RestController – класс не помечен как контроллер.
  2. Не сканируется пакет – в @ComponentScan не указан пакет с контроллером.
  3. Неправильный URL – путь в @RequestMapping не совпадает с запросом.
  4. Отсутствие @EnableWebMvc – если используется Java-конфигурация без Spring Boot.

Пример:

java
@RestController // или @Controller
@RequestMapping("/api")
public class MyController {
    @GetMapping("/test")
    public String test() {
        return "OK";
    }
}

Проверьте:

  • Корректность аннотаций.
  • Настройки ComponentScan (например, @SpringBootApplication автоматически сканирует текущий пакет и подпакеты).
  • Логи запуска (ищет ли Spring ваш контроллер).
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы