>Java >java지도 시간 >SpringBoot에서 PUT 및 삭제 요청을 사용하는 방법

SpringBoot에서 PUT 및 삭제 요청을 사용하는 방법

WBOY
WBOY앞으로
2023-05-13 12:16:061916검색

PUT 및 삭제 요청이 사용됩니다

Form 폼에서는 get 및 post 메소드만 지원됩니다. put 메소드를 구현하기 위해

다음 세 단계를 통해 구현할 수 있습니다.

1) SpringMVC에서 HiddenHttpMethodFilter를 구성합니다

2) 페이지 게시물 양식 생성

3) 입력 항목 name="_method"를 생성합니다. 값은 지정된 요청 메서드입니다.

그중 HiddenHttpMethodFilter 클래스에서

SpringBoot에서 PUT 및 삭제 요청을 사용하는 방법

"_method 값을 가져옵니다. "를 선택하고 새 요청 방법을 가져옵니다.

SpringBoot에서 PUT 및 삭제 요청을 사용하는 방법

<input type="hidden" name="_method" value="put" th:if="${employee!=null}"/>

번째 태그는 thymeleaf 템플릿입니다. 즉, 직원이 비어 있지 않을 때만 적용되며 입력된 값은 대소문자를 구분하지 않습니다.

새 버전의 SpringBoot에서는 이 put 요청이 작동하지 않았습니다. 그 이유는 springboot가 자동으로 구성하여 구성의 첫 번째 단계를 생략하는 데 도움이 되기 때문입니다. 위의 코드 방법은 자동 구성을 달성하는 것이지만 @ConditionalOnProperty 주석이 자동 구성을 제한하기 때문에 기본 false는 구성을 활성화하지 않으므로 put 제출이 가능합니다. 해당 페이지를 사용할 수 없습니다.

Solution

자동 구성을 활성화하려면 속성 구성 파일에서 구성하세요: spring.mvc.hiddenmethod.filter.enabled=true.

또한 DELETE 요청도 같은 방식으로 설정할 수 있습니다.

<form th:action="@{/emp/}+${emp.id}" method="post">
	<input type="hidden" name="_method" value="delete"/>
	<button type="submit" class="btn btn-sm btn-danger" > 删除</button>
</form>

넣기/삭제 요청을 지원하는 방법

mvc를 연구한 모든 사람은 이 두 가지 특별한 요청을 지원하려면 먼저 web.xml에서 다음 필터를 구성해야 한다는 것을 알고 있습니다.

<!--增加一个HiddenHttpMethodFilter过滤器:目的是给普通浏览器 增加put|delete请求方式-->
    <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>

그러나 SpringBoot는 이를 수행하지 않습니다. 이는 기본적으로 HiddenHttpMethodFilter를 IOC 컨테이너에 통합하는 데 도움이 되므로 사용이 매우 간단합니다.

1 application.properties

#开启支持put delete请求的过滤器
spring.mvc.hiddenmethod.filter.enabled=true

2에서 구성하면 여전히 springmvc

와 동일합니다.

다음의 숨겨진 필드를 게시물 요청 양식에 추가해야 합니다.

     <!--http请求方式-->
     <form action="..."  method="post">
         <input type="hidden" name="_method" value="put" />
         <!--value值改成delete 请求方式就为delete了-->
     </form>

위의 숨겨진 필드 이름은 "_method"여야 합니다. 이를 수정하려면 다음 빈을 추가해야 합니다. IOC:

아아아아

위 내용은 SpringBoot에서 PUT 및 삭제 요청을 사용하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 yisu.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제