-
요청 매개변수를 메소드 아규먼트로 받아오는 방법Spring/Spring MVC 2020. 6. 9. 00:39
요청 매개변수
1. 요청으로 보낼 때 ?key=value 형태의 쿼리 파라미터로 보내기
2. Http 본문에 form 데이터로 보내기
- 둘 다 요청 매개변수로 서블릿은 처리하게 된다.
- 그리고 @RequestParam을 통해 받아올 수 있다.
1. 요청으로 보낼 때 ?key=value 형태의 쿼리 파라미터로 보내기
- 따라서 다음과 같은 Test는 통과 하게 된다.
- 쿼리 파라미터(name = seungyeol) 가 RequesetParam에 의해
- 해당 메소드 아규먼트인 String name에 담기게 된다.
- @RequestParam은 Map으로 받아올 수 있고 해당 파라미터 이름으로 꺼내어 쓸 수도 있다.
2. Http 본문에 form 데이터로 보내기
1.
- Get 요청으로 /hello/form URI 요청을 처리한다.
2.
- 이때 return 값은 events/form.html로 가게 된다.
3.
- 모델에 Hello를 담을 Form backing Object를 담아서 뷰로 가게된다.
- 해당 객체는 form에서 받아올 데이터를 저장하는 객체로 생각하자.
4.
th:action : submit 시 해당 링크로 가게 된다.
- @{} URL 표현식
th:object : 모델에 있는 데이터를 참조 여기서는 비어있는 Hello 객체
- ${} variable 표현식
th:field : 이 객체가 가지고 있는 데이터 중 name을 선택한다.
- *{} selection 표현식
- 이제 모델에 넣어놨던 데이터가 보이게 되고 Submit 시 해당 데이터를 담아서
- post요청으로 "/hello"로 가게 된다.
5.
- 이제 Form 데이터에 name을 @RequestParam을 통해 String name으로 받아와서 담아주게 되고
- ResponseBody에 의해 Json 타입으로 반환되게 된다.
이렇듯 @RequestParam은 단순 타입에 값들을 바인딩해주는 것을 볼 수 있다.
'Spring > Spring MVC' 카테고리의 다른 글
@SessionAttributes (0) 2020.06.16 @ModelAttribute과 BindingResult (0) 2020.06.11 핸들러 메소드 URI 패턴 (0) 2020.06.09 스프링MVC 핸들러 아규먼트와 리턴타입 살펴보기 (0) 2020.06.08 Custom한 어노테이션 만들기 (0) 2020.06.07