@WebServlet(name = "requestBodyJsonSurvlet", urlPatterns = "/request-body-json")
public class RequestBodyJsonSurvlet extends HttpServlet {
@Override
protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
ServletInputStream inputStream = request.getInputStream();
String messageBody = StreamUtils.copyToString(inputStream, StandardCharsets.UTF_8);
System.out.println("messageBody = " + messageBody);
}
}
JSON 형식 전송

포스트 맨을 이용하여 JSON 형식을 전달하였다.

messageBody에 잘 담겨져 있는것을 확인할 수 있다.
이제 JSON 결과를 Jackson 라이브러리(ObjectMapper)를 이용하여 자바 객체로 변환하자.
스프링 부트로 Spring MVC를 선택하면 기본으로 Jackson 라이브러리 ( ObjectMapper )를 함께 제공한다.
@Getter @Setter
public class HelloData {
private String username;
private int age;
}
@WebServlet(name = "requestBodyJsonSurvlet", urlPatterns = "/request-body-json")
public class RequestBodyJsonSurvlet extends HttpServlet {
private ObjectMapper objectMapper = new ObjectMapper();
@Override
protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
ServletInputStream inputStream = request.getInputStream();
String messageBody = StreamUtils.copyToString(inputStream, StandardCharsets.UTF_8);
System.out.println("messageBody = " + messageBody);
HelloData helloData = objectMapper.readValue(messageBody, HelloData.class);
System.out.println("helloData.username = " + helloData.getUsername());
System.out.println("helloData.age = " + helloData.getAge());
response.getWriter().write("ok~~");
}
}

객체로 잘 변환되었음을 알 수 있다.