@PathVariable은 스프링 3 이후부터 지원되는 기능
페이지를 전환할 때에도 특정 파라미터값을 유지해야할 경우에 주로 사용
@PathVariable vs @RequestParam
@RequestMapping 어노테이션 값으로 {템플릿변수} 를 사용합니다.
@PathVariable 어노테이션을 이용해서 {템플릿 변수} 와 동일한 이름을 갖는 파라미터를 추가하면 됩니다.
RequestMapping 어노테이션에 변수를 포함하고 있구요.
이들 변수는 @PathVariable 어노테이션이 적용된 동일한 이름을 갖는 파라미터에 매핑됩니다.
출처: https://sarc.io/index.php/development/1145-pathvariable
이렇게 PathVariable에 "userId"를 던져주면 깔끔하게 기본url + 지정한 value + 파라미터값으로 변수를 넣어줄 수 있다. http://localhost:9090/mybatis04/
가 기본페이지고
지금 위와같은 경우에 userView 에 해당하는 컨트롤러로 userid값을 넣으면 해당 유저정보를 받아온다.
RESTful 서비스의 URI 형태
예) user6의 정보를 가져오기 users/user6 을 입력하면 이렇게 정보가 userDto의 정보가 json화되어 넘어온다.
인덱스에서 fn_userView(제이슨 데이터가져오는 ajax 함수)에 userView를 같이 연결시켜주었고
function userView(obj) {
$('input:text[name="userId"]').val(obj.userId);
$('input:text[name="name"]').val(obj.name);
$('input:radio[name="gender"][value="'+ obj.gender +'"]').prop('checked', true);
$('select[name="city"]').val(obj.city).prop('selected', true);
}
이렇게 하나씩 꺼내서 넣어줬기 때문에 index에서도 이렇게 보기좋게 나오는 것.
@PathVariable 사용시 주의할 점
1. null이나 공백값이 들어가는 파라미터는 인식할 수 없으니 적용 x
2. Spring에서 값에 " . "이 포함되어있으면 .포함 그 뒤가 싹 날라간채로 들어옴
'Backend > Spring' 카테고리의 다른 글
7. STS / MVC 처리 순서 (0) | 2020.10.04 |
---|---|
6. STS / RESTful API 로 user 정보 관리하는 관리자페이지만들기 (0) | 2020.09.12 |
5. STS / REST API (0) | 2020.09.07 |
4. STS / Mybatis 게시판에 이미지 업로드하고 다운로드 받기 (0) | 2020.09.04 |
3. STS 로 랜덤한 숫자의 인증코드 이메일로 보내고 인증절차 거치기 (0) | 2020.09.02 |