본문 바로가기

JAVA HTML JAVASCRIPT/소오스

[spring] @RequestParam 사용하기

728x90
반응형

@RequestParam

단일 HTTP요청 파라미터를 메소드 파라미터에 넣어주는 애노테이션

 

가져올 요청 파라미터의 이름을 @RequestParam 애노테이션의 기본값으로 지정해 주면 된다.

요청 파라미터의 값은 메소드 파라미터의 타입에 따라 적절하게 변환된다.

 

1. 다음 메소드 선언은  id 요청 파라미터를 int 타입으로 변환해서 메소드의 id파라미터에 넣어준다.

  1.     public String view(@RequestParam("num") int num) {}

 

2. MAP 타입으로 선언 하면 모든 요청 파라미터를 담은 맵으로 받을 수 있다. (이름은 key, 값은 value)

  1. public String view(@RequestParam Map<String, String> paramMap) {}

 

3.File type

  1. public String view(@RequestParam("file") MultipartFile file) {}

 

4. @RequestParm 을 사용하면 해당 파라미터가 반드시 있어야 한다. (400에러)

BUT!!!!!!!

필수가 아닌 선택적으로 사용하고자 한다면

required =false  이렇게 설정해주면 요청 파라미터가 존재하지 않을 떄 사용할 디폴트 값도 설정 할 수 있다.

defaultValue="-1" 디폴트 값은 요거.. (2~5번쨰줄. )

 

  1.  , @RequestParam(value="num", required =false, defaultValue="-1") int num

                  

                                                

  1.     @RequestMapping(value = "/main/view.do")
  2.     public String view(@RequestParam("name") String name
  3.                     , @RequestParam("id") String id
  4.                     , @RequestParam(value="num", required =false, defaultValue="-1") int num
  5.                     , Model model) {
  6.        
  7.         System.out.println("name:::"+name+"    id:::"+id+"    num:::"+num);
  8.        
  9.         model.addAttribute("name", name);
  10.         model.addAttribute("id", id);
  11.         model.addAttribute("num", num);
  12.        
  13.         return "myTest/view";
  14.     }

http://daver.kr/tools/geshi/?ckattempt=1

 

 

 

[출처] 토비 13.2.1메소드 파라미터의 종류 中 - @RequestParam

[spring] @RequestParam 사용하기

728x90
반응형