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 실행 결과

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