[Spring] @RequestParam 매개변수 인식 문제 (Spring boot 3.2 )

19·2023년 12월 6일
0

에러 모음

목록 보기
13/24

배경

@GetMapping("/...")
public String ...(@RequestParam String name, Model model) {
    model.addAttribute("name", name);

    return "...";
}
  • 식으로 코딩을 해왔는데, Spring boot 3.2버전을 사용하면서 아래와 같은 에러가 발생했다

java.lang.IllegalArgumentException: Name for argument of type [java.lang.String] not specified, and parameter name information not found in class file either.

찾아보니 Spring boot 3.2버전에서는 이름을 필수로 적어주어야 한다는 것을 보게되었다
@RequestParam("name") String name

  • 위처럼 이름까지 적어주어야 한단다

또, @RequestParam뿐만 아니라, @PathVariable, @Autowired에서도 동일한 문제가 발생한다고 한다


내가 한 방법

위처럼 모든 매개변수에 이름을 붙이던지,
아니면 Gradle을 사용해서 빌드하고 실행하는 것으로 해결할 수 있다

나는 IntelliJ IDEA로 빌드하고 실행했는데, Gradle로 하면 동작한다고 한다
모든 매개변수에 이름을 붙이는 거보다 Gradle로 빌드하고 실행하는 게 깔끔하다고 판단해서 아래와 같이 변경했다

바꿨더니 동작했다

profile
하나씩 차근차근

0개의 댓글