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
'Spring' 카테고리의 다른 글
Spring 캐시 추상화 (Cache Abstraction) 간단하게 적용해보기 (0) | 2022.02.17 |
---|---|
Spring redis session 적용하기 (0) | 2021.11.12 |
Spring (boot 아님) redis (lettuce)적용하기 (0) | 2021.11.09 |
Spring OCI(oracle cloude infrastructure) Java SDK 활용 (2) Object Storage에 Bucket, Object, PreAuth CRD 하기 (0) | 2021.11.05 |
Spring OCI(oracle cloud infrastructure) Java SDK 활용 (1) Object Storage bucket 정보 가져오기 (0) | 2021.11.04 |