프레임워크(Framework)/Spring

[Spring MVC] HTTP 요청 파라미터

잇트루 2022. 11. 15. 22:48
반응형
본 내용은 온라인 강의 사이트 인프런의 김영한 님의 강의 내용이 포함되어 있습니다.
'스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술'
 

스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술 - 인프런 | 강의

웹 애플리케이션을 개발할 때 필요한 모든 웹 기술을 기초부터 이해하고, 완성할 수 있습니다. 스프링 MVC의 핵심 원리와 구조를 이해하고, 더 깊이있는 백엔드 개발자로 성장할 수 있습니다., -

www.inflearn.com

 

Intro

HTTP 요청 메시지를 통해 클라이언트에서 서버로 데이터를 전달하는 3가지 방법

GET - 쿼리 파라미터

  • ?username=hello&age=20
  • 메시지 바디 없이, URL의 쿼리 파라미터에 데이터를 포함하여 전달
  • 검색, 필터, 페이징 등에서 많이 사용하는 방식

POST - HTML Form

  • Content-Type : application/x-www-form-urlencoded
  • 메시지 바디에 쿼리 파라미터 형식으로 전달 : username=hello&age=20
  • HTML Form 사용

HTTP message body에 직접 데이터를 담아서 요청

  • HTTP API에서 주로 사용, JSON, XMl, TEXT 등
  • 데이터 형식은 주로 JSON을 사용
  • POST, PUT, PATCH에 이용

 

요청 파라미터 - 쿼리 파라미터, HTML Form

HttpServletRequest의 getParameter()를 사용하면, 쿼리 파라미터 전송과 HTML Form을 전송할 수 있다.

GET 쿼리 파라미터 전송 방식과 POST HTML Form 전송 방식은 같은 형식을 제공하기 때문에 서로 구분 없이 조회할 수 있다.

ex) username=hello&age=20

이를 간단히 요청 파라미터(Request Parameter) 조회라고 한다.

 

요청 예제

@Slf4j
@Controller
public class RequestParamController {
    @RequestMapping("/request-param-v1")
    public void requestParamV1(HttpServletRequest request, HttpServletResponse response) throws IOException {
        String username = request.getParameter("username");
        int age = Integer.parseInt(request.getParameter("age"));

        log.info("username={}, age={}", username, age);

        response.getWriter().write("ok");
    }
}
// 출력
2022-10-29 21:45:27.490  INFO 22404 --- [nio-8080-exec-4] h.s.b.request.RequestParamController     : username=hello, age=20

 

반응형