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

fnvjtm153님의 프로필 이미지

작성한 질문수

스프링 MVC 2편 - 백엔드 웹 개발 활용 기술

Bean Validation - 프로젝트 준비 V3

상품 추가후 저장된 폼이 안떠요... 도와 주세요 ㅜ

작성

·

197

0

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.

1. 강의 내용과 관련된 질문을 남겨주세요.
2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.
(자주 하는 질문 링크: https://bit.ly/3fX6ygx)
3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.
(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)

질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.
=========================================
[질문 템플릿]
1. 강의 내용과 관련된 질문인가요? (예/아니오)
2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)
3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)

[질문 내용]
여기에 질문 내용을 남겨주세요.잘 되다가 강의에서 v3 확인하는거 다 확인하다가 안되길레... 어?!? 됬는데ㅠ저장을 누루면이렇게 뜨는데 에러로 뜨는게
2024-05-20T17:12:27.181+09:00 INFO 12336 --- [nio-8081-exec-1] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring DispatcherServlet 'dispatcherServlet' 2024-05-20T17:12:27.181+09:00 INFO 12336 --- [nio-8081-exec-1] o.s.web.servlet.DispatcherServlet : Initializing Servlet 'dispatcherServlet' 2024-05-20T17:12:27.182+09:00 INFO 12336 --- [nio-8081-exec-1] o.s.web.servlet.DispatcherServlet : Completed initialization in 1 ms 2024-05-20T17:13:12.633+09:00 ERROR 12336 --- [nio-8081-exec-4] o.a.c.c.C.[.[.[/].[dispatcherServlet] : Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Request processing failed: java.lang.IllegalArgumentException: Name for argument of type [long] not specified, and parameter name information not found in class file either.] with root cause java.lang.IllegalArgumentException: Name for argument of type [long] not specified, and parameter name information not found in class file either. => [long] 형식의 인수 이름이 지정되지 않았으며, 매개 변수 이름 정보도 클래스 파일에 없습니다. 이거라고 하는데 v2 폼도 확인하고 컨트롤 에서도 확인을 해봤는데 도저히... 못 찾을거 같아서.. 혹시나 해서 V2 폼은 자료로 주신 파일이랑 복붙하고 컨트롤은 틀린거 있나 확인했는데 재가 못 찾는거 같기도 하거 안보이는거 같아서 도움을 요청드릴려 올렸습니다https://drive.google.com/file/d/1R9dGZdGZ9-EVdtf57IibhlGBGhfEvTRx/view?usp=sharing

답변 2

1

안녕하세요, 인프런 AI 인턴입니다. fnvjtm153님의 질문에 대한 해결 방법을 찾기 위해 유사한 질문과 그 답변을 검토해 보았습니다.

상품을 추가한 후 저장된 폼이 보이지 않고 에러 페이지가 나오는 문제는 대체로 두 가지 원인에서 비롯될 수 있습니다. 첫 번째는 폼 데이터를 처리하는 서버 측의 로직에 오류가 있을 경우이며, 두 번째는 경로 설정이나 데이터 바인딩에 문제가 있을 경우입니다.

fnvjtm153님께서 제공하신 에러 메시지 “java.lang.IllegalArgumentException: Name for argument of type [long] not specified, and parameter name information not found in class file either.“는 매개 변수 이름 정보가 클래스 파일에 지정되지 않았거나 찾을 수 없음을 나타냅니다. 이는 주로 @RequestParam이나 @PathVariable을 사용할 때 발생하는데, 매개 변수의 이름이 명확하게 지정되지 않았거나, 컴파일 시 매개 변수의 이름 정보가 유지되지 않았기 때문일 수 있습니다.

유사한 문제를 해결하는 데 도움이 될 수 있는 몇 가지 답변을 찾았습니다:
- 파일 다운로드 404 에러에서는 파일 다운로드에 관한 문제를 해결하긴 했지만, 오류 메시지 처리 방법에 대한 일반적인 조언이 포함되어 있습니다.
- editForm 500에러에서는 500 에러와 관련된 질문이있으며, @PathVariable 사용 시 발생할 수 있는 문제와 해결책에 대한 힌트를 제안합니다.

위의 링크들에서 해결책을 찾을 수 없다면, @PathVariable이나 @RequestParam 사용 시 해당 변수의 이름을 명시적으로 지정해 보세요. 예를 들어, @PathVariable("itemId") Long itemId와 같이 매개 변수의 이름을 명시적으로 지정해 줘야 합니다. 또한, Spring Boot 프로젝트를 컴파일 할 때 -parameters 옵션을 포함시켜야 매개 변수의 이름이 유지되고, @PathVariable, @RequestParam 등이 올바르게 작동합니다.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

fnvjtm153님의 프로필 이미지
fnvjtm153
질문자

그러네요 순간 깜빡하고 있었네요 패쓰베리어블 뒤에 ("itemId") 이걸 붙였어야 하는데 .. ㅠ 감사합니다 잘 되네여

0

안녕하세요. fnvjtm153님, 공식 서포터즈 OMG입니다.

설정창 단축키

윈도우 : ctrl + alt + s

: command + ,

빌드 실행을 Gradle(Default)로 변경해주세요 😀
image

감사합니다.