@RequestBody 테스트

목표 : JSON 요청 -> JSON으로 데이터 받기

 

1. JSON으로 요청

 

2. 컨트롤러

    @ResponseBody
    @PostMapping("/request-body-json-v3")
    public HelloData requestBodyJsonV3(@RequestBody HelloData helloData) throws Exception {
        log.info("username={}, age", helloData.getUsername(), helloData.getAge());
        return helloData;
    }
  • HTTP의 컨버터가 요청한 Content-type이 application/json 이라는 것을 인식하고 객체에 맞게 변환해 준다.
  • @RequestBody는 생략 불가능이다.
  • 만약 @RequestBody를 생략하면 @ModelAttribute가 적용되어 버린다.
  • HTTP 요청 시 content-type이 application/json 인지 꼭 확인해야 한다. 그래야 JSON을 처리할 수 있는 HTTP 메시지 컨버터가 실행된다.

3. 결과

 

  • 참고로 응답도 JSON으로 셋팅되어 전달된다.

 

 

* 참고사항

1. @RequestBody 요청

  • JSON 요청 -> HTTP 메시지 컨버터 -> 객체

2. @ResponseBody 응답

  • 객체 -> HTTP 메시지 컨버터 -> JSON 응답
 

댓글

Designed by JB FACTORY