Spring
Spring Form Method PUT, DELETE로 하기
푸른화염포
2021. 11. 11. 09:03
728x90
Html에서 Form태그로 데이터를 전송할때 method를 지정하는데 get과 post밖에 지원을 하지않는다.
이유는 길게 있지만 form에 put과 delete를 사용하는건 form에 맞지않고 사용할 이유가 없다고 하기 때문이다.
하지만 사용하는 방법이 있다.
예시
<form id="" action="" method="post">
<input type="hidden" name="_method" value="PUT" />
이렇게 form안에 input hidden으로 _method로 PUT을 넣어주고
web.xml
<!-- RESTful Form method filter : allow PUT, DELETE for Html Form tag -->
<filter>
<filter-name>hiddenHttpMethodFilter</filter-name>
<filter-class>org.springframework.web.filter.HiddenHttpMethodFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>hiddenHttpMethodFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
HiddenHttpMethodFilter를 하나 추가해주면된다.
이렇게 하면 Controller에서 PUT이나 DELETE로 지정한 메서드로 잘 가지지만
fiddler로 http를 확인했을때는, form에 지정한 post로 날라가는것을 확인 할 수 있었다.
728x90