TIL

Json, HTTPMessageConverter

ac012235 2024. 12. 20. 20:48

클라이언트에서 서버로 데이터를 전달하는 세번째 방법은 HTTP요청 메세지 바디에 데이터를 입력하는 방법이다.

그중에서도 Json 형태의 메세지를 전달하는 방법에 대해서 알아보았다.

  • 첫번째로 objectMapper를 사용해 Json 형태의 데이터를 자바의 Object형태로 변환시키고, HttpServletRequest와 HttpServletResponse를 사용해 요청과 응답 데이터를 담을 공간을 만들어준다. 
  • 그리고 inputStream을 통해 조회를 하고 copyToString을 통해 String형태로 변환시켜서 응답을 반환한다.

  • ObjectMapper가 없는 코드 일때, HTTP Message Converter가 ObjectMapper를 대신 실행한다.

  • @RequestBody를 생략하면 @ModelAttribute가 된다.
  • Request Header의 contentType은 꼭 application/json 이여야 한다.
  • 위 설정 정보를 기반으로 MessageConverter가 실행된다.

@Controller + @ResponseBody가 합쳐지면 @RestController가 된다.

그래서 View가 아닌 Data를 응답하게 되고 위 코드는 Json형태로 이루어진 데이터를 직접 바로 반환했기 때문에 Postman에서도 동일하게 Json 형태로 Data가 나오게 된다.

 


'TIL' 카테고리의 다른 글

Spring 응답 데이터2  (0) 2024.12.21
Spring 응답 데이터  (0) 2024.12.20
@RequestBody, @ResponseBody, HttpEntity  (0) 2024.12.19
@ModelAttribute  (0) 2024.12.19
@RequestParam  (2) 2024.12.18