Выбор ответа Junior Spring MVC и REST спрашивают часто обновлено
@Controller и @RestController
Вопрос
Чем @RestController отличается от @Controller?
Попробуйте сами
Выберите вариант, и откроется разбор.
Показать ответ и разбор
Коротко
Правильный ответ: Добавляет @ResponseBody ко всем методам контроллера. @RestController это @Controller плюс @ResponseBody: возвращаемое значение пишется в тело через HttpMessageConverter.
Варианты ответа
- Добавляет
@ResponseBodyко всем методам контроллераправильный ответ @RestControllerработает только с JSON, а@Controllerс XML@RestControllerобрабатывает запросы асинхронно- Ничем, это синонимы для разных стилей проекта
Разбор
@RestController это @Controller плюс @ResponseBody: возвращаемое значение пишется в тело через HttpMessageConverter. Обычный @Controller по умолчанию возвращает имя представления для шаблонизатора. Формат зависит от конвертеров и заголовка Accept, а не от аннотации. Асинхронности аннотация не добавляет.
Ответьте сами, а не прочитайте
В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.