BE Study/Spring

Static, MVC와 템플릿 엔진, API (3)

subengineer 2024. 6. 20. 16:55

API는 MVC처럼 html로 변환해서 출력하는 것이 아니라 JSON형식으로 바꿔 전달해준다.

서버 간의 데이터를 전달할 때는 클라이언트와는 달리 데이터만 보내면 되기 때문에 JSON 형식으로 많이 전달한다.

@ResponseBody문자 반

@ResponseBody를 넣으면 ViewResolver를 사용하지 않는다.

대신 http의 body에 문자 내용을 직접 반환해준다.

 

  <html>
  <body>
  <p>hello spring!!</p>
  </body>
  </html>

mvc방식으로 보내면 이렇게 html형식으로 나오는 것에 비해

JSON은 간단하게 문자만 출력한다.

hello spring!!

 

@ResponseBody 객체 반환

@ResponseBody 를 사용하고, 객체를 반환하면 객체가 JSON으로 변환됨

 

  {"name":"spring!!"}

 

정리

@ResponseBody 를 사용 HTTP의 BODY에 문자 내용을 직접 반환

viewResolver 대신에 HttpMessageConverter 가 동작

기본 문자처리: StringHttpMessageConverter

기본 객체처리: MappingJackson2HttpMessageConverter

byte 처리 등등 기타 여러 HttpMessageConverter가 기본으로 등록되어 있음