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

11 1님의 프로필 이미지
11 1

작성한 질문수

모든 개발자를 위한 HTTP 웹 기본 지식

HTTP API 설계 예시

HTML FORM에서의 컨트롤 URI

해결된 질문

작성

·

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:/";
    }

}

 

감사합니다.

11 1님의 프로필 이미지
11 1
질문자

감사합니다.

11 1님의 프로필 이미지
11 1

작성한 질문수

질문하기