HTTP 요청 데이터를 웹 브라우저에서 사용하는 방식이 아닌

HTTP message body에 직접 데이터를 담아서 요청하는 방식을 공부해보았다.

 

먼저 가장 단순한 텍스트 메시지를 HTTTP 메시지 바디에 담아서 전송해보았다.

HTTP 메시지 바디의 데이터를  InputStream을 사용해서 직접 읽을 수 있다.

 

package hello.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(name = "RequestBodyStringServlet", urlPatterns = "/request-body-string")
public class RequestBodyStringServlet 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);
        response.getWriter().write("ok");
    }
}

메시지 바디에 hello를 넣고 (포스트맨 이용)

보내보았더니

ok를 확인할 수 있었다.

보통은 JSON형식으로 주고받는다.

+ Recent posts