인프런 커뮤니티 질문&답변

한세건님의 프로필 이미지

작성한 질문수

코드로 배우는 React with 스프링부트 API서버

REST컨트롤러 - 수정/삭제, CORS설정

PathVariable이 제대로 인식되지 않는 문제

작성

·

523

0

본 강의 REST컨트롤러 - 수정/삭제, CORS 설정 시청중에

Putmapping, DeleteMapping 쪽에서 파라미터를 @PathVariable로 받는데, postMan에서 테스트 요청을 보냈을때 파라미터가 전달되지 않습니다.

 

@PathVariable(name="tno") 처럼 name을 명시하니까 제대로 파라미터가 받아지던데요 원래는 name은 생략 가능한게 아닌가요??

답변 2

0

안녕하세요.

 

Spring 6.1 부터는 LocalVariableTableParameterNameDiscoverer가 제거되어서 매개변수 이름을 추론하려면 -parameters라는 컴파일러 옵션을 붙여야한다고 하네요.

https://github.com/spring-projects/spring-framework/wiki/Upgrading-to-Spring-Framework-6.x#parameter-name-retention

아마도...
build.gradle에 다음 옵션을 넣어서...

tasks.withType(JavaCompile).configureEach {
  options.compilerArgs.add("-parameters")
}

 

-parameters 컴파일러 옵션이 붙게되면
파라미터 이름을 생략해도 잘 동작할거에요..

위의 링크 설명에서는 IntelliJ 또는 Eclipse IDE에 직접 설정하는 방법도 나와있네요.