Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
Tags
- Service
- 비동기
- 부스트코스
- controller
- 알고리즘
- 백준
- DI
- 파이썬
- 자바스크립트
- 부스터2기
- Promise
- 코딩테스트
- Spring Framework
- IOC
- 다이나믹프로그래밍
- 웹
- 기술면접
- Spring
- 면접
- servlet
- was
- DP
- request
- response
- Spring MVC
- 다이나믹 프로그래밍
- 네이버
- Callback
- 서블릿
- JSP
Archives
- Today
- Total
Sh개발일기
RestController 본문
학습 목표
- Spring MVC를 이용해 Rest API를 작성하는 방법에 대해 이해합니다.
핵심 개념
- Rest API
- Web API
- @RestController
- MessageConvert
@RestController
- Spring 4에서 Rest API 또는 Web API를 개발하기 위해 등장한 annotation이다.
- 이전 버전의 @Controller와 @ResponseBody를 포함한다.
MessageConverter
RestController를 사용할 때 매우 중요한 요소로, 외부에서 전달받은 JSON메소드를 내부에서 사용할 수 있는 객체로 변환하거나, Controller를 리턴한 객체가 클라이언트에게 JSON으로 변환해서 전달할 수 있도록 하는 등의 역할을 수행한다.
- 자바 객체와 HTTP 요청 / 응답 바디를 변환하는 역할
- @ResponseBody, @RequestBody
- @EnableWebMvc로 인한 기본 설정
- WebMvcConfigurationSupport를 사용하여 Spring MVC 구현
- Default MessageConverter를 제공
- 링크 바로가기 의 addDefaultHttpMessageConverters메소드 항목 참조
MessageConverter 종류
JSON 응답하기
- 컨트롤러의 메소드에서는 JSON으로 변환될 객체를 반환한다.
- jackson라이브러리를 추가할 경우 객체를 JSON으로 변환하는 메세지 컨버터가 사용되도록 @EnableWebMvc에서 기본으로 설정되어 있다.
- jackson라이브러리를 추가하지 않으면 JSON메세지로 변환할 수 없어 500번 오류가 발생한다.(반드시 추가해 주어야함)
- 사용자가 임의의 메세지 컨버터를 사용하도록 하려면 WebMvcConfigurerAdapter의 configurerMessageConverters메소드를 오버라이딩 하도록 한다.
기존 XML과 다르게 자바스크립트 객체와 그 모양이 매우 닮은 JSON은 가독성이 매우 뛰어나고 작성하기도 편리하다. 또한 언어나 플랫폼에 종속되지 않아 하나의 폼으로 백과 프론트를 쉽게 오고 갈 수 있어 개발이 매우 용이해진다.
'BoostCourse' 카테고리의 다른 글
객체 리터럴과 this (0) | 2020.03.27 |
---|---|
배열의 함수형 메소드 (0) | 2020.03.20 |
레이어드 아키텍쳐(Layered Architecture) (0) | 2020.03.12 |
Spring MVC 구성요소 (0) | 2020.03.12 |
Spring MVC란 (0) | 2020.03.12 |