< 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 |