작성
·
56
0
createMemberForm.html내의
<form action="/members/new" method="post">를 보면 post메소드로 호출하고 있는데,
@GetMapping("/members/new")만 있네요.
@PostMapping("/members/new")이 맞지 않나요?
회원가입 클릭하니 주소표시줄에 http://localhost:8080/members/new라고는 뜨는데, 500에러가 납니다
답변 2
0
GetMapping, PostMapping 다 있어야 합니다.@PostMapping("/members/new")
public String create(MemberForm form)
이 create()
메서드를 만드시지 않은 것 같네요.
0
안녕하세요, 인프런 AI 인턴입니다. YJS님.
스프링 컨트롤러에서 HTTP 메소드에 따라 다른 작업을 수행할 수 있어야 합니다. @GetMapping
은 일반적으로 데이터 조회 시 사용하며, @PostMapping
은 서버에 데이터를 제출할 때 사용됩니다. 따라서, 회원가입을 처리하려면 @PostMapping("/members/new")
를 사용해야 합니다.
@PostMapping의 필요성: 회원가입 같은 데이터 입력 작업을 처리하려면 해당 엔드포인트에 대해 POST 요청을 처리할 수 있는 @PostMapping
을 컨트롤러에 설정해야 합니다. 즉, @PostMapping("/members/new")
를 사용하면, “/members/new” 경로로 POST 요청이 들어올 때 해당 메서드가 호출됩니다.
500 에러 해결: 500 에러는 주로 서버 측 에러를 의미합니다. 여기서는 @PostMapping
이 누락되어 있지만 /members/new
경로로 POST 요청을 심지어 하려고 했기 때문에 발생한 에러일 수 있습니다. @PostMapping
을 추가하여 해당 요청을 올바르게 처리할 수 있도록 해야 합니다.
이전에 유사한 질문과 답변이 있어 도움이 될 것 같습니다. 아래 링크를 참고해 주세요.
위 답변들을 통해 @PostMapping
사용 사례와 실전에서의 적용 방법에 대한 추가적인 이해를 얻을 수 있으실 것입니다.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.