Sobes.tech
Назад к вопросам
Junior — Middle
89

Объясните назначение аннотации @ResponseBody в контексте разработки RESTful сервисов на Spring

Компании, где спрашивали
МеталлИнвестБанк

Ответ от нейросети

sobes.tech AI

Аннотация @ResponseBody в Spring используется для указания, что возвращаемое значение метода контроллера должно быть сериализовано напрямую в тело HTTP-ответа, а не интерпретироваться как имя представления (view).

В контексте RESTful сервисов это означает, что объект, возвращаемый методом, автоматически преобразуется в формат JSON или XML (в зависимости от настроек), и отправляется клиенту как ответ.

Пример:

@RestController
public class UserController {

    @GetMapping("/user/{id}")
    @ResponseBody
    public User getUser(@PathVariable Long id) {
        return userService.findById(id);
    }
}

Здесь @ResponseBody гарантирует, что объект User будет преобразован в JSON и отправлен в ответе HTTP, что является стандартным поведением REST API.