diff --git a/spring-mvc/servlet/src/main/java/com/example/servlet/basic/request/RequestBodyStringServlet.java b/spring-mvc/servlet/src/main/java/com/example/servlet/basic/request/RequestBodyStringServlet.java new file mode 100644 index 00000000..b67b2183 --- /dev/null +++ b/spring-mvc/servlet/src/main/java/com/example/servlet/basic/request/RequestBodyStringServlet.java @@ -0,0 +1,27 @@ +package com.example.servlet.basic.request; + +import org.springframework.util.StreamUtils; + +import javax.servlet.ServletException; +import javax.servlet.ServletInputStream; +import javax.servlet.annotation.WebServlet; +import javax.servlet.http.HttpServlet; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import java.io.IOException; +import java.nio.charset.StandardCharsets; + +@WebServlet("/request-body-string") +public class RequestBodyStringServlet extends HttpServlet { + @Override + protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { + // 요청 메시지의 body 의 값을 바이트 코드로 받는다. + ServletInputStream inputStream = request.getInputStream(); + + // 바이트 코드를 String 으로 변환 + String messageBody = StreamUtils.copyToString(inputStream, StandardCharsets.UTF_8); + System.out.println("messageBody = " + messageBody); + + response.getWriter().write("ok"); + } +}