Skills/Spring
스프링 Parsing 방법(x-www-form-urlencoded, json)
Homil-Rye
2023. 2. 8. 16:42
728x90
반응형
우선 스프링의 기본 파싱 전략부터 알아보자.
스프링의 기본 전략은 x-www-form-urlencoded
스프링 Servlet Container는 x-www-form-urlencoded 타입의
데이터를 주고 받고 파싱하는 것을 기본적으로 제공해준다.
(다른 데이터 타입은 제공하지 않는다.)
x-www-form-urlencoded get 요청
만약 get 요청으로 x-www-form-urlencoded 데이터가 들어오면
body가 없으므로, url의 QueryString을 보고 request.getParameter(”key”);
로, key 값을 받아서 파싱한다.
x-www-form-urlencoded post 요청
만약 post 요청으로 x-www-form-urlencoded 데이터가 들어오면
Buffer로 읽은 후에 파싱한다.
그렇다면 json으로 받을 때는 어떻게 해야할까?
json으로 데이터를 받을 때는 @RequestBody를 붙여 주어야 한다.
스프링은 @RequestBody를 붙이면 BufferedReader로 데이터를 읽는다.
그 다음, @RequestBody 뒤에 타입을 보고
String이면 String으로 바로 보내고,
아니면 ObjectMapper로 파싱한다.
아래와 같은 코드가 @RequestBody 내부에서 실행되는 것이다.
BufferedReader br = request.getReader();
String json = br.readLine();
ObjectMapper om = new ObjectMapper();
BoardUpdateReqDto bu = om.readValue(json, BoardUpdateReqDto.class);
728x90
반응형