@ResponseBody

2023. 2. 24. 15:52@Annotaion Book

@ResponseBody는 Spring MVC에서 Controller가 반환하는 데이터가 View를 거치지 않고, 직접 HTTP Response Body에 작성되도록 하는 어노테이션입니다.

Spring MVC에서 Controller는 클라이언트로부터의 HTTP 요청을 처리하고, 이에 대한 응답을 생성하여 반환합니다. 기본적으로는 반환된 데이터가 View로 전달되어 HTML 등의 문서로 랜더링되어 전송됩니다. @ResponseBody 어노테이션을 사용하면, Controller가 반환하는 데이터가 View를 거치지 않고, 직접 HTTP Response Body에 작성되도록 할 수 있습니다.

아래는 @ResponseBody 어노테이션을 사용하여 Controller가 반환하는 데이터를 HTTP Response Body에 작성하는 예시 코드입니다.

@Controller
@RequestMapping("/user")
public class UserController {
 
    @Autowired
    private UserService userService;
 
    @GetMapping("/{id}")
    @ResponseBody
    public User getUser(@PathVariable Long id) {
        return userService.getUser(id);
    }
}

위 코드에서는 @ResponseBody 어노테이션을 사용하여 getUser() 메서드가 반환하는 User 객체가 HTTP Response Body에 작성되도록 하고 있습니다. 이제 getUser() 메서드가 반환하는 User 객체는 JSON 또는 XML 형식으로 직접 클라이언트로 전송됩니다.

@ResponseBody 어노테이션을 사용하여 데이터를 반환하려면, Jackson, Gson 등의 JSON 라이브러리를 사용하여 객체를 JSON 형식으로 변환해야 합니다. Spring MVC는 이러한 라이브러리를 지원하여, 개발자가 직접 JSON 형식으로 데이터를 작성하는 번거로움을 덜어줍니다.

'@Annotaion Book' 카테고리의 다른 글

@Configuration  (0) 2023.02.24
@Repository  (0) 2023.02.24
@Transactional  (0) 2023.02.24
@Service  (0) 2023.02.24
@Controller  (0) 2023.02.24