스프링 #11 PUT, PATCH, DELETE 메서드 매핑

함형주·2022년 12월 20일
0

spring

목록 보기
11/12

질문, 피드백 등 모든 댓글 환영합니다.

form 태그에서 PUT, PATCH, DELETE 요청하기

블로그를 참고하여 작성했습니다.

기본적으로 HTML form 태그에선 GET, POST 요청만 할 수 있습니다.

때문에 form 태그에 히든 태그를 포함하는 방식으로 다른 method 요청을 구현할 수 있습니다.

<form action="/.." method="POST">
	<input type="hidden" name="_method" value="DELETE"/>
</form>

위 처럼 직접 form 태그 안에 히든 태그를 작성하지 않고 Thymeleaf를 사용한다면

<form action="/.." th:method="delete">
</form>

위와 같이 작성 후 렌더링을 거치면 자동으로 히든 태그를 생성해줍니다.

HiddenHttpMethodFilter

히든 태그를 포함하는 것 만으로는 컨트롤러에서 다른 HTTP 메서드 요청을 처리할 수 없습니다.

히든 태그를 읽어 요청 메서드를 변환하는 객체가 바로 HiddenHttpMethodFilter 입니다.

HiddenHttpMethodFilter를 Bean으로 등록하거나 스프링부트를 사용한다면 application.yml(properties) 에서 다음을 추가하여 사용 가능합니다.

application.yml

spring:
  mvc:
    hiddenmethod:
      filter:
        enabled: true
profile
평범한 대학생의 공부 일기?

0개의 댓글