Spring 에서 HTTP Protocol 설정
- 브라우저에서는 get, post만 사용할 수 있다.(@GetMapping, @PostMapping)
하지만 hidden 태그와 Spring HiddenHttpMethodFilter를 통해 @PutMapping, @DeleteMapping 을 사용할수 있다.
- GET(@GetMapping)
- GET 방식은 HTTP 헤더에 값을 담아서 보낸다. 그래서 용량이 제한이 있다.
- POST(@PostMapping)
- POST방식은 HTTP body에 담아서 보낸다.
- 등록할때 사용한다.
- PUT(@PutMapping)
- 수정할때 사용한다. HTTP body에 담아서 보낸다.
- post방식으로 설정에 필터를 추가하고 input hidden을 만들고 put 값을 넣은후 요청한다.
<form method="post" action="update">
name : <input type="text" name="name">
<input type="hidden" name="_method" value="put">
<input type="submit">
</form>
<filter>
<filter-name>httpMethodFilter</filter-name>
<filter-class>org.springframework.web.filter.HiddenHttpMethodFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>httpMethodFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
DELTE(@DeleteMapping)
- 삭제할때 사용한다. HTTP body에 담아서 보낸다.
- post방식으로 설정에 필터를 추가하고 input hidden을 만들고 delete 값을 넣은후 요청한다.
<form method="post" action="delete">
name : <input type="text" name="name">
<input type="hidden" name="_method" value="put">
<input type="submit">
</form>
<filter>
<filter-name>httpMethodFilter</filter-name>
<filter-class>org.springframework.web.filter.HiddenHttpMethodFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>httpMethodFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
0 개의 댓글:
댓글 쓰기