Notice
Recent Posts
Recent Comments
Link
«   2025/01   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
Archives
Today
Total
관리 메뉴

개발자되기 프로젝트

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

인프런/[인프런] 스프링 MVC 1

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

Seung__ 2021. 9. 14. 20:59

1. Client에서 Server로 요청 데이터를 절달하는 세 가지 방법


  • GET - 쿼리 파라미터
    • /url?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

 

2. Query Prarameter, HTML Form


  • HttpServletRequest의 request.getParamter()를 통해 둘 다 조회 가능
  • 왜? 둘다 메세지 바디에 쿼리 형대로 전달 ㅋㅋㅋ
  • GET 쿼리 파리미터 전송 방식이든, POST HTML Form 전송 방식이든 둘다 형식이 같음
  • 즉 구분없이 조회할 수 있음. 이것을 간단히 요청 파라미터(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");
    }
}
  • Get으로 요청

2021-09-14 20:50:17.455  INFO 756 --- [nio-8080-exec-6] h.s.b.request.RequestParamController     
: username = kim, age= 20
  • Post로 요청 - HTML Form

2021-09-14 20:50:17.455  INFO 756 --- [nio-8080-exec-6] h.s.b.request.RequestParamController     
: username = kim, age= 20
  • Post 요청 - HTML 만들어서 직접
    • 리소스는 /resources/static 아래에 두면 스프링 부트가 자동으로 인식한다.
    • /resources/static/basic/hello-form.html
<form action="/request-param-v1" method="post">
    username: <input type="text" name="username" />
    age: <input type="text" name="age" />
    <button type="submit">전송</button>
</form>
  • http://localhost:8080/basic/hello-form.html 에 접속.

  • 잘된당
2021-09-14 20:57:29.743  INFO 37508 --- [nio-8080-exec-5] h.s.b.request.RequestParamController    
: username = kim, age= 20

 

 

3. GitHub : 210914 QueryParam, HTML Form


 

GitHub - bsh6463/MVC2

Contribute to bsh6463/MVC2 development by creating an account on GitHub.

github.com

 

'인프런 > [인프런] 스프링 MVC 1' 카테고리의 다른 글

HTTP 요청 파라미터 - @ModelAttribute  (0) 2021.09.14
HTTP 요청 파라미터 - @RequestParam  (0) 2021.09.14
HTTP 요청 - Header 조회  (0) 2021.09.14
RequestMapping - API  (0) 2021.09.14
Request Mapping  (0) 2021.09.14
Comments