개발한 api를 postman 을 통해서 테스트하다가
Missing URI template variable for method parameter of type string
이라는 에러를 마주쳤다.
원인을 파악해보면 url로 들어가 있는 userid와 파라미터로 들어가는 id 가 서로 달라서 발생한다.
1
2
3
4
|
@GetMapping("/{userid}")
public User getUserByUserId(@PathVariable String id) {
return userService.getUserByUserId(id);
}
|
이때 해결방법은 2가지가 있다.
하나는 아래처럼, Mapping 과 같은 변수명을 사용해주는 것이다.
1
2
3
4
|
@GetMapping("/{userid}")
public User getUserByUserId(@PathVariable String userid) {
return userService.getUserByUserId(userid);
}
|
또 하나는 그냥 @pathVariable 에 변수를 할당하는 것이다.
1
2
3
4
|
@GetMapping("/{userid}")
public User getUserByUserId(@PathVariable("userid") String id) {
return userService.getUserByUserId(id);
}
|
반응형
댓글