더북(TheBook)

14.2.2 @ResponseBody

@ResponseBody 애너테이션은 자바 객체를 HTTP 응답 body 내용으로 매핑하는 역할을 합니다. @RequestBody처럼 XML이나 JSON 형식을 갖춘 문자열 형태로 응답할 때 이용합니다.

컨트롤러 내 요청 처리 메서드 수준으로 설정하며, 요청 처리 메서드의 반환 결과 값을 HTTP 응답 body 내용으로 전달합니다.

다음은 컨트롤러 내 요청 처리 메서드에 @ResponseBody를 선언한 예입니다. @ResponseBody가 선언된 메서드의 반환 결과 값은 JSON 형식으로 변환해서 응답합니다.

 

@ResponseBody를 적용한 예

Example02Controller.java

@Controller
@RequestMapping("/exam02")
public class Example02Controller {
    @GetMapping
    public @ResponseBody Person submit() {
        Person person = new Person();
        person.setName("HongGilSon");
        person.setAge("20");
        person.setEmail("Hong@naver.com");
        System.out.println(person);
        return person;
    }
}

예를 들어 사용자 웹 요청 URL이 http://.../exam02이면 Example02Controller 컨트롤러의 요청 처리 메서드 submit()에서 설정된 person 객체의 값을 JSON 형식으로 변환해서 {“name”:
“HongGilSon”,“age”:“20”,“email”:“Hong@naver.com”}처럼 응답합니다.

▲ 그림 14-3 실행 결과

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.