IT/Java

2021-03-10 일지3

어린이개발자 2021. 3. 10. 17:56

< Web API 내용 정리 >
* Web API
- REST API 아키텍처 스타일을 완벽하게 구현하지 못할 경우 이를 Web API라고 부름

* 관련 내용
- DispatcherServlet은 컨트롤러 메소드를 실행하고 해당 메소드가 리턴한 객체를 변환시키려고 함
- 변환을 시킬 때 메시지 컨버터(MessageConverter)를 사용하게 되는데
  메시지 컨버터가 Bean으로 등록되어 있지 않으면 오류 발생
- 보통 Web API는 JSON, XML과 같은 데이터를 표현하기에 알맞은 형태로 결과를 출력함

< Controller 내용 정리 >
* @RestController
- Spring 4에서 Rest API 또는 Web API를 개발하기 위해 등장한 어노테이션
- 이전 버전의 @Controller와 @ResponseBody를 포함

* MessageConverter
- 자바 객체와 HTTP 요청 / 응답 바디를 변환하는 역할
- @ResponseBody, @RequestBody
- @EnableWebMvc로 인한 기본 설정
  > WebMvcConfigurationSupport를 사용하여 Spring MVC 구현을 하고 있음
  > Default MessageConverter를 제공하고 있음
  
* json 응답하기
- 컨트롤러의 메소드에서는 json으로 변환될 객체를 반환
- jackson 라이브러리를 추가할 경우 객체를 json으로 변환하는 메시지 컨버터가 사용되도록
  @EnableWebMvc에서 기본으로 설정되어 있음
- jackson 라이브러리를 추가하지 않으면 json 메시지로 변환할 수 없어 500 오류가 발생
- 사용자가 임의의 메시지 컨버터(MessageConverter)를 사용하도록 하려면
  WebMvcConfigurerAdapter의 configureMessageConverters 메소드를 오버라이딩

'IT > Java' 카테고리의 다른 글

2021-03-13 일지1  (0) 2021.03.13
2021-03-11 일지1  (0) 2021.03.11
2021-03-10 일지2  (0) 2021.03.10
2021-03-10 일지1  (0) 2021.03.10
2021-03-09 일지2  (0) 2021.03.09