작성
·
298
0
먼저 강의 항상 잘 보고 있습니다 선생님!!!
제가 editForm 아래에
<div class="col">
<button class="w-100 btn btn-danger btn-lg"
onclick="location.href='item.html'"
th:onclick="|location.href='@{/basic/items/{itemId}/edit/delete (itemId = ${item.id})}'|"
type="button">삭제
</button>
</div>
추가후 컨트롤러에
@GetMapping("/{itemId}/edit/delete")
public String editDelete(@PathVariable Long itemId) {
itemRepository.delete(itemId);
return "redirect:/basic/items/";
}
추가하여 지우는걸 브라우저에서 성공 했습니다. 다름이 아니라 DeleteMapping 을 사용하여 지우고 싶은데
form method = "delete"로 해도 안되서 질문을 남겨봅니다.
위에 방식대로 하면 실행이 됩니다만 혹시 DeleteMapping 을 사용해서 할 방법이 있을까요??
답변 2
4
안녕하세요. 경재님
HTML Form은 공식적으로 GET, POST만 지원합니다.
따라서 이 경우 POST를 사용하시는 것이 맞습니다.
API의 경우에는 PUT, PATCH, DELETE를 모두 사용할 수 있습니다.
그런데 스프링은 히든 파라미터를 활용하는 트릭을 사용해서 HTML Form에서 PUT, PATCH, DELETE를 사용하는 방법을 지원합니다.
관련해서 spring mvc form method put로 검색해보시면 원하는 결과를 찾으실 수 있을거에요.
감사합니다.
1