728x90
1. HttpServletRequest
@GetMapping("/test")
public String test(HttpServletRequest request){
String data1 = request.getParameter("data1");
String [] data2 = request.getParameterValues("data2");
for(String str1 : data2){
System.out.println("data2 =" + str1);
}
}
<a href="test?data1=100&data2=200&data2=300">test</a>
data1=100 이고 data2 = 200,300이 배열로 담겨지게 된다.
2. WebRequest
WebRequest는 HttpServletRequest 상위 클래스이다.
@GetMapping("/test")
public String test(WebRequest request){
String data1 = request.getParameter("data1");
String [] data2 = request.getParameterValues("data2");
for(String str1 : data2){
System.out.println("data2 =" + str1);
}
}
3. PathVariable
Restful API 방식으로 프로그래밍시 많이 사용하는 방식
데이터가 요청 주소에 있을 경우 값을 주입 받을 수 있는 어노테이션
요청주소/값1/값2/값3 순서를 가지고 추출
Spring MVC에서 지원하고 있다.
<a href="test/100/200/300">test</a>
@GetMapping("/test/{data1}/{data2}/{data3}")
public String test(@PathVariable String data1,
@PathVariable String data2,
@PathVariable String data3){
//@PathVariable int data3 형변환 가능
System.out.println("data1 =" + data1);
System.out.println("data2 =" + data2);
System.out.println("data3 =" + data3);
}
4. RequestParam
파라미터 데이터를 직접 주입 받을 수 있다.
지정된 변수의 이름과 파라미터의 이름이 같을 경우 값을 주입 받는다.
가능한 경우 형 변환도 처리해줍니다.
value : 파라미터의 이름과 변수의 이름이 다를 경우 파라미터 이름을 지정한다.
required : false 를 설정하면 지정된 이름의 파라미터가 없을 경우 null이 주입된다.
<a href="test?data1=100&data2=200&data2=300">test</a>
@GetMapping("/test")
public String test(@RequestParam int data1,
@RequestParam int [] data2){
//@RequestParam(value = "data1") int value1
//@RequestParam(required = false) String data3) 지정된 이름 파라미터 없을 때 null
//@RequestParam(defaultValue = "100") int data4) 기본값으로 받겠다 싶을 떄
System.out.println("data1 =" + data1);
for(int i : data2)
{
System.out.println("data2 : " + i);
}
}
728x90
'Back-End > Spring(Boot)' 카테고리의 다른 글
스프링 ViewResolver (0) | 2021.03.05 |
---|---|
객체로 파라미터 주입받기 (0) | 2021.03.05 |
스프링 요청방식 어노테이션 @RequestMapping / @GetMapping / @PostMapping (0) | 2021.03.05 |
spring mvc 5 pom.xml 버전관리 (0) | 2021.03.04 |
스프링 통합 테스트 (0) | 2020.12.26 |