일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- React
- 자바
- 파이어베이스
- ReactNative
- 코딩
- 프로젝트
- controller
- 티스토리챌린지
- 백엔드
- 태그
- 리액트 네이티브
- PCCE
- 자바스크립트
- Spring
- 코테
- 코딩테스트
- javascript
- java
- 리액트
- 리액트네이티브
- 스프링
- expo
- project
- 오블완
- React Native
- 프로그래머스
- map
- 2025 프로그래머스 코드챌린지 2차 예선
- node.js
- firebase
- Today
- Total
양갱의 개발 블로그
[Spring] 경로 변수(path variables) @PathVariable, @RequestParam 본문
[Spring] 경로 변수(path variables) @PathVariable, @RequestParam
연지양갱 2023. 7. 4. 17:48교재 : 스프링 코딩 공작소
https://thebook.io/080266/0182/
스프링 코딩 공작소: 6.1.1 경로 변수의 개요
더북(TheBook): (주)도서출판 길벗에서 제공하는 IT 도서 열람 서비스입니다.
thebook.io
경로 변수
- 웹 요청 URL에 포함된 파라미터 값을 전달 받는데 사용하는 변수
- @RequestMapping에 괄호({ })를 사용하여 웹 요청 URL에 포함된 요청 조건 값을 전달함
- 괄호 안에 있는 값이 명시 된 것이 경로 변수
- 하나, 두개 이상의 경로 변수를 포함 할 수 있음
코드 예제
// 경로 변수 이름을 그대로 사용할 때
@RequestMapping("경로 변수")
public String 메서드 이름(@PathVariable 경로 변수, ...) {
...
}
// 경로 변수 이름을 재정의하여 사용할 때
@RequestMapping("경로 변수")
public String 메서드 이름(@PathVariable(경로 변수) 매개변수, ...) {
...
}
사용자의 웹 요청 URL에 포함된 경로 변수의 값은 요청 처리 메소드의 매개변수 데이터 타입에 맞게 자동으로 변환됨
@PathVariable 사용한 예시
1. @RequestMapping("/home")
@GetMapping("/exam01/{bookId}")
: 해당 경로값이 들어가 있다면 아래 처리함
2. {bookId} 와 @PathVariable String bookId
: 괄호({ })의 값을 String타입의 bookId에 저장함
3. model.addAttribute("data", "~~~)
: 파라미터 값에 Model을 선언했던 model에 bookId를 저장함(addAttribute)
4. return "webpage06"
: webpage06의 이름의 jsp 파일을 불러옴(입력한 데이터를 보여주기 위해)
Check!
@PathVariable에 설정된 매개변수는
int, long, Date, .... : 어떤 타입이든 가능
타입 에러가 생성된다면 -> TypeMismatchException예외 발생
메소드의 매개변수가 int타입이라면 반드시 숫자로 해줘야함
else
@MatrixVariable도 있음
▼ 표 6-1 @MatrixVariable의 속성
속성 | 타입 | 설명 |
defaultValue | String | 기본값으로 대체하여 사용합니다. |
name | String | 매트릭스 변수의 이름입니다. |
pathVar | String | 하나 이상의 경로 구분(/)에 동일한 이름을 명확하게 구분하는 데 사용합니다. 매트릭스 변수가 있는 URI 경로 변수의 이름입니다. |
required | boolean | 매트릭스 변수가 요구되는지 여부를 설정합니다. |
value | String | 매트릭스 변수 ‘name=value’에서 name을 가리킵니다. |
@RequestParam
메소드의 매개변수에 설정
기본값은 웹 요청 URL로 전송되는 요청 파라미터 이름과 똑같이 설정해야함
@RequestParam ------> @RequestMapping
코드 사용 예시
// 요청 파라미터를 그대로 사용할 때
@RequestMapping("요청 경로")
public String 메서드 이름(@RequestParam 요청 파라미터, ...) {
...
}
// 요청 파라미터를 재정의하여 사용할 때
@RequestMapping("요청 경로")
public String 메서드 이름(@RequestParam(요청 파라미터) 매개변수, ...) {
...
}
속성값
▼ 표 6-2 @RequestParam의 속성
옵션 요소 | 타입 | 설명 |
defaultValue | String | 요청 매개변수가 없거나 빈 값이면 기본값으로 대체하여 사용합니다. |
name | String | 전달하는 요청 매개변수의 이름입니다. |
required | boolean | 요청 매개변수가 요구되는지 여부를 설정합니다. |
value | String | name()에 대한 별칭입니다. |
기본적으로 파라미터 값을 가져올 때 사용하는 것임ㅁ
!!파라미터 값은 jsp 파일에 있는 값과 동일해야함!!
'백 > Spring, Spring Boot' 카테고리의 다른 글
[Spring] 뷰 리다이렉션 : 현제 페이지에서 다른 페이지로 이동하기 jsp redirect방식과 forward방식 (0) | 2023.07.04 |
---|---|
[Srping] 스프링 폼 태그 (form tag) jsp파일에 값 입력하기 input (0) | 2023.07.04 |
[Spring] 한글 깨짐 방지 (0) | 2023.07.04 |
[Spring] JAVA 애노테이션 Annotation(@) 알아보기 (0) | 2023.06.27 |
[Spring] 웹 애플리케이션 계층 구조 (0) | 2023.06.27 |