해결된 질문
작성
·
241
1
[질문 템플릿]
1. 강의 내용과 관련된 질문인가요? (예)
2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)
3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)
[질문 내용]
HTML FORM을 사용할 때 회원 삭제의 경우, DELETE 메서드를 사용할 수 없으므로
/members/{id}/delete -> POST
이렇게 컨트롤 URI를 어쩔 수 없이 사용한다고 강의에서 말씀하셨는데
만약 /members/{id} -> POST로 지정된 무언가가 정해지지 않은 상황이라면,
/members/{id} -> POST로 회원 삭제를 구현하는 게 가능한가요?
권장되지 않는 방법인 건 알겠는데 구현이 아예 안 되는 건지, 구현은 가능한지 궁금합니다.
답변 1
2
안녕하세요. 11 1님, 공식 서포터즈 OMG입니다.
당연히 가능합니다.
애플리케이션에서 members/{id}와 같은 요청으로 별다른 Post요청을 처리하는 코드가 없다면 members/{id}의 요청을 받을 때 회원삭제가 되도록 구현할 수는 있습니다.
아래 예시 코드를 참고해주세요
html
<!DOCTYPE html>
<html xmlns:th="http://www.thymeleaf.org">
<body>
<form th:action="@{/members/{id}(id=${memberId})}" method="post">
<input type="submit" value="회원 삭제">
</form>
</body>
</html>
java
@Controller
public class MemberController {
@PostMapping("/members/{id}")
public String deleteMember(@PathVariable Long id) {
memberService.deleteMember(id); // POST에서 회원삭제 기능을 구현
return "redirect:/";
}
}
감사합니다.
감사합니다.