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

В чем разница между ResponseEntity и ResponseBody

`ResponseEntity` и `ResponseBody` используются в Spring для обработки HTTP-ответов, но имеют разные цели: 1. **`@ResponseBody`** – аннотация, которая указывает, что возвращаемое значение метода должно быть напрямую записано в тело HTTP-ответа (без View-резолвера). Часто используется с `@RestController` (где она уже включена по умолчанию). Пример: ```java @GetMapping("/user") @ResponseBody public User getUser() { return new User("John"); } ``` 2. **`ResponseEntity`** – это обертка над телом ответа, позволяющая дополнительно управлять HTTP-статусом, заголовками и другими метаданными ответа. Пример: ```java @GetMapping("/user") public ResponseEntity getUser() { User user = new User("John"); return ResponseEntity.ok() .header("Custom-Header", "value") .body(user); } ``` **Ключевые отличия:** - `ResponseEntity` дает полный контроль над ответом (статус, заголовки), а `@ResponseBody` только сериализует объект в тело. - `ResponseEntity` – это объект, `@ResponseBody` – аннотация. - В `@RestController` `@ResponseBody` не нужен, так как включен по умолчанию.
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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