14.2.3 @RestController

    @RestController 애너테이션은 컨트롤러에 @ResponseBody가 추가된 것으로 JSON 형태로 데이터를 반환합니다. @Controller와는 다르게 @RestController는 반환 값에 자동으로 @ResponseBody가 붙어 자바 객체가 HTTP 응답 body 내용에 매핑되어 전달됩니다.

    @RestController를 사용하면 @ResponseBody를 사용하지 않아도 되지만, @Controller일 때는 반드시 @ResponseBody를 선언해야 합니다.

    앞서 살펴본 컨트롤러 내 요청 처리 메서드에 @ResponseBody를 선언한 예에서 @Controller 대신 @RestController로 선언하면 @ResponseBody를 생략할 수 있고, @ResponseBody처럼 요청 처리 메서드의 반환 결과 값을 JSON 형식으로 변환해서 응답합니다.

    @RestController를 적용한 예(Example03Controller.java)

    @RestController
    @RequestMapping("/exam03")
    public class Example03Controller {
        @GetMapping
        public Person submit() {
            Person person = new Person();
            person.setName("HongGilSon");
            person.setAge("20");
            person.setEmail("Hong@naver.com");
            System.out.println(person);
            return person;
        }
    }
    신간 소식 구독하기
    뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.