PathVariable annotation was empty on param 0

코딩하는범이·2020년 7월 20일
1
post-thumbnail

개발을 하던 도중에 팀원에게 실행이 안된다는 이슈를 받았습니다.
에러 내용은 이렇습니다.

org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'postController' defined in file [..\web\controller\PostController.class]: Unsatisfied dependency expressed through constructor parameter 0; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'kr.project.toy.web.service.PostApiService': FactoryBean threw exception on object creation; nested exception is java.lang.IllegalStateException: PathVariable annotation was empty on param 0.

여기서 볼 부분은

PathVariable annotation was empty on param 0.

이 부분인데


확인을 해봤지만 분명 저의 컴퓨터에서는 잘 돌아갔습니다.
다른 팀원 컴퓨터에서는 실행을 하려고하면 이런 오류를 내 뱉는다고 하니
난감했습니다.

내용을 살펴보니 써있는 것 처럼 @PathVariable 문제였습니다.

아래 문제가 되는 코드입니다.

    @GetMapping("/api/post/{postId}")
    ResponseEntity<PostDTO> getPost(@SpringQueryMap @PathVariable Long postId);

위처럼 @PathVariable 의 value 속성을 생략하면 오류가 날때가 있습니다.
정확한 원인은 모르겠지만 이러한 오류 방지를 위해서

    @GetMapping("/api/post/{postId}")
    ResponseEntity<PostDTO> getPost(@SpringQueryMap @PathVariable("postId") Long postId);

이렇게 명시해주는게 안전합니다.

profile
기록 그리고 기억

0개의 댓글