728x90

파라미터 추출하기

클라이언트 요청으로 전달하는 파라미터 데이터를 전달 받는 여러 방식이 있다.

spring MVC는 필요한 데이터나 객체를 주입을 받아 사용한다.

HttpServletRequest : servlet, jsp에서 쓰는 방식 getParameter 등을 이용해서 데이터를 받아온다.

WebRequest : Spring MVC에서 제공하는 HttpServeletRequest를 확장한 것이다.

 

@PathVariable : 데이터가 요청 주소에 있을시 값을 주입받는 방식

Restful API 서버 프로그래밍에서 사용하는 방식

주소/1/2/3과 같이 값이 온다..

       @GetMapping("/test4/{data1}/{data2}")

       public String test4(@PathVariable String data1,

@PathVariable String data2) {

             System.out.println(data1 + " " + data2 + " " + data3);

            

             return "result";

       }

 

@RequestParam : 파라미터 데이터를 변수로 직접 주입받고 형 변환도 가능하다.

@GetMapping("/test5")

public String test5(@RequestParam int data1, @RequestParam int data2, @RequestParam int[] data3)

처럼 변수와 data 이름을 똑같이 받을 수도 있고

@RequestParam(value = "data1") int val1, 처럼 변수와 이름이 다르게 할 수도 있다.

 

객체로 파라미터 주입받기.

map이나 list Requestparam을 받으면 String으로만 받을 수 있다.

 

@ModelAttribute

파라미터를 객체로 받을 수 있다.

전달되는 파라미터의 이름과 동일한 프로퍼티에 자동으로 주입된다.

이런 객체를 커맨드 객체라고한다.

public String test2(@ModelAttribute DataBean bean)

이런식으로 사용하며 @ModelAttribute를 생략해서 DataBean bean만 써도 실행 가능하다.

DataBean은 입력으로 들어오는 매개변수와 같은 이름으로 멤버변수와 getter, setter가 있어야한다.

728x90

+ Recent posts