HTTP 요청데이터

박재성·2024년 12월 6일
0

GET 쿼리 파라미터

형식

쿼리 파라미터는 다음과 같은 형식으로 보낼 수 있습니다.
http://localhost:8080/request-param?username=hello&age=20
파라미터를 추가하고싶다면 뒤에 &를 붙이고 key=value 형식으로 적으면 됩니다.

코딩 예시

/**
 * 파라미터 전송 기능
 * http://localhost:8080/request-param?username=hello&age=20
 */
@WebServlet(name = "requestParamServlet", urlPatterns = "/request-param") // Servlet 애노테이션
public class RequestParamServlet extends HttpServlet { // 상속받기
    @Override // service(key 모양 있는거) 오버라이딩
    protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        System.out.println("RequestParamServlet.service");
        System.out.println("[전체 파라미터 조회] - start");
        request.getParameterNames().asIterator()
                .forEachRemaining(paramName -> System.out.println(paramName + "= " + request.getParameter(paramName)));
        System.out.println("[전체 파라미터 조회] - end");
        System.out.println();
        System.out.println("[단일 파라미터 조회]");
        String username = request.getParameter("username");
        String age = request.getParameter("age");
        System.out.println("username = " + username);
        System.out.println("age = " + age);
        System.out.println();
    }
}

POST HTML Form

특징

content-type: application/x-www-form-urlencoded
메세지 바디에 쿼리 파라미터 형식으로 데이터를 전달한다. username=hello&age=20

이는 위에서 본 Get 쿼리 파라미터의 형식과 동일합니다. 따라서 해당 형식으로 보내도 동일한 결과를 반환합니다.

API 메시지 바디 - JSON

JSON 형식 전송

  • POST http://localhost:8080/request-body-json
  • content-type: application/json

0개의 댓글