Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- 그리디
- 스프링 핵심 기능
- java
- QueryDSL
- 인프런
- kotlin
- Greedy
- 스프링 핵심 원리
- Exception
- JDBC
- db
- http
- 김영한
- 스프링
- transaction
- Thymeleaf
- SpringBoot
- Spring Boot
- 자바
- jpa
- spring
- pointcut
- JPQL
- AOP
- springdatajpa
- Servlet
- Android
- 알고리즘
- Proxy
- 백준
Archives
- Today
- Total
개발자되기 프로젝트
HTTP 요청 파라미터 - 쿼리 파라미터, HTML, Form 본문
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
'인프런 > [인프런] 스프링 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