-
@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 자체를 생략하여 사용할 수 있지만,
요청과 메소드의 파라미터의 이름이 같아야 합니다. 하지만 파라미터의 개수가 많아지면 코드를 이해하는데 불편을 겪을 수 있기 때문에 생략하는것은 추천드리지 않습니다.
반응형'Spring' 카테고리의 다른 글
CSS 버전 업데이트 하기 [ Spring ] (2) 2017.11.07 ContentNegotiatingViewResolver 사용하기 [Spring] (0) 2017.09.28 @SessionAttributes 사용하기 [Spring] (0) 2017.08.23 @Schedule 사용하기 [Spring] (0) 2017.01.12 10-2. MongoDB를 활용한 훼이스북 만들기02 [Spring] (0) 2016.11.24