@GetMapping("/...")
public String ...(@RequestParam String name, Model model) {
model.addAttribute("name", name);
return "...";
}
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로 빌드하고 실행하는 게 깔끔하다고 판단해서 아래와 같이 변경했다
바꿨더니 동작했다