Web

[Error] Request method 'DELETE' not supported

잔망루피 2022. 6. 4. 22:11
반응형

댓글 삭제하기를 구현하면서 문제가 발생했다.

WARN 6520 --- [nio-8080-exec-6] .w.s.m.s.DefaultHandlerExceptionResolver : Resolved [org.springframework.web.HttpRequestMethodNotSupportedException: Request method 'DELETE' not supported]

댓글 삭제는 잘 된다. 하지만, 댓글 삭제 후 해당 게시글을 redirect하는데 405 에러가 뜬다.

redirct할 때 DELETE 메소드로 요청을 보내는게 문제 ㅠ

/post/detail/21은 댓글이 달린 해당 게시글이다.

PUT, GET 메소드만 허용한다고 한다.

 

 

✨ 해결

// 삭제
@PostMapping("/delete/{id}")
public String delete(@PathVariable("id") Long id, @RequestBody Map<String, String> map) {
    Long post_id=Long.parseLong(map.get("post_id"));        // 게시글 번호
    commentService.delete(id);

    return "redirect:/post/detail/" + post_id;
}

DELETE 대신에 POST방식을 써서 댓글을 삭제했다.

 

 

function deleteComment(idx){
    if(!confirm('댓글을 삭제하시겠어요?')) {
        return false;
    }

    var post_id=document.getElementById("postId");
    var uri='/comment/delete/' + idx;
    //var headers={"Content-Type" : "application/json", "X-HTTP-Method-Override" : "DELETE"};
    var params = {"post_id" : post_id.value};

    $.ajax({
        url : uri,
        type : "POST",
        data: JSON.stringify(params),
        contentType : 'application/json',
        success : function(response) {
            window.location.reload();
            $("#commentModal").modal("hide");
        },
        error : function(xhr, status, error) {
            alert("에러가 발생하였습니다.");
            return false;
        }
     });
}

 

 

 

👇 참고

https://laracasts.com/discuss/channels/inertia/send-a-delete-request-and-redirect-back-405-error

 

https://laracasts.com/discuss/channels/inertia/send-a-delete-request-and-redirect-back-405-error

 

laracasts.com

 

https://congsong.tistory.com/33?category=749196 

 

스프링 부트(Spring Boot) 게시판 - REST 방식으로 댓글 삭제 구현하기 [개발을 시작해봐요!]

1. 화면(뷰) 영역의 처리는 타임리프(Thymeleaf) 템플릿 엔진과 제이쿼리(jQuery)를 사용합니다. 2. 댓글 CRUD 처리하기에서 매퍼와 서비스 영역을 모두 처리하였기 때문에 컨트롤러부터 진행합니다. 3.

congsong.tistory.com

 

https://developer.mozilla.org/ko/docs/Web/HTTP/Headers/Allow

 

Allow - HTTP | MDN

Allow 헤더는 리소스가 지원하는 메소드 집합을 나열합니다.

developer.mozilla.org

 

반응형

'Web' 카테고리의 다른 글

CORS  (0) 2022.10.07
CSRF  (0) 2022.09.15
get과 post 차이  (0) 2022.02.18
URL과 URI  (0) 2021.09.13
REST API  (0) 2021.07.24