ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • @PathVariable, @RequestParam [Spring]
    Spring 2017. 8. 24. 10:02
    반응형



    01. @PathVariable 란?


    @RequestMapping 의 URL 에서의 ({})의 명시된 변수를 받아온다.

    @PathVariable을 이용하여 URI 템플릿 중에서 어떤 파라미터를 가져올지 결정할 수 있습니다.





    라는 형식으로 view단에서 파라미터를 보내면 컨틀롤러에서 파라미터를 받기 위해서는




    위 사진 처럼 받아올 수 있습니다. @PathVariable("boardId") 에서 괄호 ' ( ) ' 는 생략 가능하지만 대신에 파라미터의 이름은 같아야합니다.





    02. @RequestParam 란?


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




    라는 형식으로 view단에서 파라미터를 보내면 컨틀롤러에서 파라미터를 받기 위해서는





    위으 사진처럼 여러가지 방법이 있습니다.


    requestParam

     - 기본 형식으로 되어있으며 boardId 파라미터를 String형식으로 변환해서 boardId에 넣어줍니다


    requestParam2

     - 한 메소드에 여러번의 @RequestParam을 사용할 수 있다는 내용입니다.


    requestParam3

     - Map<> 형식으로 받을수 있는데 Key값은 파라미터 이름으로, Value값은 파라미터 값을 저장합니다.


    requestParam4

     - 메소드에서 파라미터를 받아오는게 필수가 아니라 선택적이라고 한다면 required = false로 설정해주어야 합니다


    requestParam5

     - 메소드에서 파라미터를 받아오는게 선택적이며 값이 들어오지 않았을때는 defaultValue를 설정하여 줍니다 현재 값은 1로 설정이 되어있습니다. 


    requestParam6

     - @RequestParam("")에서 ' () ' 를 제거 하고 사용할 수 있습니다. 단, 파라미터의 이름과 변수명의 이름이 같아야 합니다.


    주의! 

    @RequestParam을 사용할시 파라미터를 넘기지 않으면 400에러를 뱉기 때문에 선택적으로 사용할 때는 꼭! required = false를 적어주시기 바랍니다.



    마지막으로

    String, int와 같은 단순 타입인 경우에는 @RequestParam 자체를 생략하여 사용할 수 있지만,

    요청과 메소드의 파라미터의 이름이 같아야 합니다. 하지만 파라미터의 개수가 많아지면 코드를 이해하는데 불편을 겪을 수 있기 때문에 생략하는것은 추천드리지 않습니다.



    반응형

    댓글

Designed by Tistory.