@ResponseBody 어노테이션

SoHEeeeeee·2023년 7월 11일
0

@ResponseBody 어노테이션은 스프링 프레임워크에서 사용되는 어노테이션으로, 메서드나 클래스에 적용하여 HTTP 응답의 본문(body)을 통해 데이터를 직접 반환하는 데 사용됩니다.

일반적으로 스프링 MVC에서는 컨트롤러 메서드가 뷰 템플릿을 찾아 렌더링한 후, 그 결과를 HTTP 응답으로 반환합니다.
그러나 @ResponseBody 어노테이션을 사용하면, 메서드의 반환 값을 HTTP 응답의 본문으로 직접 전송할 수 있습니다.
이를 통해 데이터를 JSON, XML, 텍스트 등의 형식으로 반환할 수 있습니다.

@ResponseBody 어노테이션은 주로 RESTful 웹 서비스에서 API 엔드포인트를 구현하는 데 사용됩니다.
컨트롤러 메서드에 @ResponseBody 어노테이션을 적용하면 해당 메서드가 반환하는 데이터가 직접 HTTP 응답 본문으로 전송되어 클라이언트에게 반환됩니다.

다음은 @ResponseBody 어노테이션을 사용한 예시입니다:

@Controller
public class UserController {
    
    @GetMapping("/users/{id}")
    @ResponseBody
    public User getUser(@PathVariable("id") Long id) {
        // 사용자 정보 조회
        User user = userService.getUserById(id);
        
        return user;
    }
}

위의 예시에서 getUser 메서드는 /users/{id} 엔드포인트로 들어오는 GET 요청을 처리하는 메서드입니다.
@ResponseBody 어노테이션을 적용하여 반환된 User 객체가 HTTP 응답의 본문으로 직접 전송되며,
스프링은 자동으로 해당 객체를 JSON 또는 XML 등의 형식으로 변환하여 클라이언트에게 반환합니다.

따라서 클라이언트는 /users/{id} 엔드포인트로 요청을 보내면 JSON 형식으로 변환된 사용자 정보를 받게 됩니다.

profile
주니어 개발자

0개의 댓글