В чём разница между @Controller и @RestController?

@RestController объединяет @Controller и @ResponseBody: результаты методов обычно записываются в тело HTTP-ответа через message converters. У @Controller строка обычно обозначает имя представления.

Короткий ответ

Что ответить на собеседовании

@RestController объединяет @Controller и @ResponseBody: результаты методов обычно записываются в тело HTTP-ответа через message converters. У @Controller строка обычно обозначает имя представления.

Подробный разбор

Ответ с пояснениями

@RestController объединяет @Controller и @ResponseBody: результаты методов обычно записываются в тело HTTP-ответа через message converters. У @Controller строка обычно обозначает имя представления.

Для JSON API обычно используют @RestController, а для серверных HTML-шаблонов — @Controller. Это не ограничение формата навсегда: контроллер может возвращать ResponseEntity или пометить отдельный метод @ResponseBody. Фактическое представление зависит от типа результата, согласования content type и установленных converters. Наличие @RestController само по себе не задаёт URL — нужны mappings.

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее