diff --git a/spring-mvc/servlet/src/main/java/com/example/servlet/basic/HelloData.java b/spring-mvc/servlet/src/main/java/com/example/servlet/basic/HelloData.java new file mode 100644 index 00000000..fa8d52e9 --- /dev/null +++ b/spring-mvc/servlet/src/main/java/com/example/servlet/basic/HelloData.java @@ -0,0 +1,11 @@ +package com.example.servlet.basic; + +import lombok.Getter; +import lombok.Setter; + +@Getter @Setter +public class HelloData { + + private String username; + private int age; +} diff --git a/spring-mvc/servlet/src/main/java/com/example/servlet/basic/request/RequestBodyJsonServlet.java b/spring-mvc/servlet/src/main/java/com/example/servlet/basic/request/RequestBodyJsonServlet.java new file mode 100644 index 00000000..ccfce7d1 --- /dev/null +++ b/spring-mvc/servlet/src/main/java/com/example/servlet/basic/request/RequestBodyJsonServlet.java @@ -0,0 +1,33 @@ +package com.example.servlet.basic.request; + +import com.example.servlet.basic.HelloData; +import com.fasterxml.jackson.databind.ObjectMapper; +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-json") +public class RequestBodyJsonServlet extends HttpServlet { + + private final 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"); + } +}