• 카테고리

    질문 & 답변
  • 세부 분야

    백엔드

  • 해결 여부

    해결됨

메시지컨버터에 대한 궁금증..

20.09.02 00:23 작성 조회수 90

0

안녕하세요,  @RestController 또는 @ResponseBody를 사용하지 않고 도메인 객체를 리턴했을 때 response body에 JSON형태로 응답이 되는거 같은데 Spring 내부에서 어떻게 판단하고 동작하는지 궁금합니다.

예제

@Controller

@RequestMapping(value = "/test")

public class TestController  {

@GetMapping("/event")

public User event(){

User testUset = new User();

testUset.setId(1);

testUset.setEmail("test@gmail.com");

return testUset;

}

}

결과값

Content-Type: application/json;

responseBody: {"id":1 "email":"test@gmail.com"}

답변 1

답변을 작성해보세요.

0

JSON으로 내보낼지 판단하는 거는 요청 헤더에 응답으로 원하는 컨텐츠 타입이 무엇인지에 따라, 이번 수업에서 설명드린 메시지 컨버터 중에 어떤걸 사용할지 결정하게 됩니다. Accept 헤더에 JSON이 있다면 이번 수업처럼 등록되어 있는 HTTP 메시지 컨버터 중에 JSON용 메시지 컨버터를 사용해서 도메인 객체를 JSON으로 변환해주는 라이브러리인 잭슨의 ObjectMapper를 사용해서 JSON으로 변화해주는거죠. 좀 더 자세히 알고 싶다면 이번 수업에 설명드린 메시지 컨버터 주변으로 디버깅을 해보시기 바랍니다.