본문 바로가기

자바/SpringFrameWork

[코배스 - 6.3 Controller의 파라미터 수집]

URL을 통해 클라이언트의 요청을 받을 시, Controller를 통해 최초로 요청을 받게 된다.

Controller 사용 시, 파라미터는 자동으로 수집된다. Http방식처럼 request.getParameter()를 사용할 필요가 없다.

☞ Controller에 대한 기본적인 이해를 진행해 보도록 하자.


6.3.1 파라미터 수집 / 변환 

1) @RequestParam 사용법

- DTO, VO 객체들은 자동으로 형변환이 되지만, int, String은 @RequestParam 어노테이션 사용해야 함.

- @RequestParam은 파라미터로 사용된 변수의 이름과 전달되는 파라미터의 이름이 다른 경우에 유용하게 사용된다.

< URL - http://localhost:8080/sample/ex08?name=abad&age=8 >

1
2
3
4
5
6
7
8
@GetMapping("/ex08")
    public String ex08(@RequestParam("name") String name1, @RequestParam("age") int age1) {
        
        log.info("name1 :"+name1);
        log.info("age1 : "+age1);
        
        return "ex08";
    }
cs

파라미터로 사용된 변수의 이름 : name / age , 전달되는 파라미터의 이름 : name1 / age1 이 다른 경우에도 서버상에 요청이 가능하다.

 

2) 리스트/배열 처리

: 스프링은 파라미터의 타입을 보고 객체를 생성한다. 

<URL - http://localhost:8080/sample/ex02List?ids=111&ids=222&ids=333 >

1
2
3
4
5
6
@GetMapping("/ex02List")
    public String ex02List(@RequestParam("ids")ArrayList<String> ids) {
        
        log.info("ids "+ids);
        return "ex02List";
    }
cs

해당 컨트롤러에서는 ArrayList<String>이 해당 파라미터의 타입이 된다.