Встречается на собеседованиях • сегодня
В чем разница между RestController и Controller
@RestController - это специализированная версия @Controller, которая автоматически добавляет аннотацию @ResponseBody ко всем методам. Это означает, что возвращаемые значения методов будут напрямую сериализованы в HTTP-ответ (обычно JSON/XML).
@Controller требует явного указания @ResponseBody для методов, возвращающих данные, или использования ModelAndView для рендеринга шаблонов.
Пример:
java
@RestController
public class MyRestController {
@GetMapping("/data")
public Data getData() { // Автоматически преобразуется в JSON
return new Data();
}
}
@Controller
public class MyController {
@GetMapping("/view")
public String getView(Model model) { // Возвращает имя шаблона
model.addAttribute("attr", "value");
return "template";
}
@ResponseBody
@GetMapping("/api")
public Data getData() { // Требуется @ResponseBody
return new Data();
}
}
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы