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

В чем разница между аннотациями @RequestBody и @ResponseBody

@RequestBody и @ResponseBody — это аннотации Spring, связанные с преобразованием данных в HTTP-запросах и ответах.

@RequestBody указывает, что параметр метода должен быть привязан к телу HTTP-запроса. Spring автоматически преобразует входящий JSON/XML в объект Java.
Пример:

java
@PostMapping("/user")
public void createUser(@RequestBody User user) {
    // user автоматически десериализуется из JSON/XML
}

@ResponseBody указывает, что возвращаемое значение метода должно быть сериализовано в тело HTTP-ответа (например, в JSON/XML).
Пример:

java
@GetMapping("/user/{id}")
@ResponseBody
public User getUser(@PathVariable Long id) {
    return userService.findById(id); // вернётся как JSON
}

Разница:

  • @RequestBody — для входящих данных (запрос → объект Java).
  • @ResponseBody — для исходящих данных (объект Java → ответ).

В современных Spring-приложениях @ResponseBody часто заменяют аннотацией @RestController, которая включает её по умолчанию для всех методов.

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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