Heim >Java >javaLernprogramm >So verwenden Sie PUT- und Löschanforderungen in SpringBoot
Im Formularformular werden nur Get- und Post-Methoden unterstützt, und um die Put-Methode
1) HiddenHttpMethodFilter in SpringMVC konfigurieren
2) Ein Beitragsformular auf der Seite erstellen
3) Ein Eingabeelement erstellen , name="_method", Der Wert ist die angegebene Anforderungsmethode
In der HiddenHttpMethodFilter-Klasse
Erhalten Sie den Wert von „_method“ und erhalten Sie einen neuen Anforderungsweg.
<input type="hidden" name="_method" value="put" th:if="${employee!=null}"/>
Das Tag ist die Thymeleaf-Vorlage, was bedeutet, dass es nur wirksam wird, wenn der Mitarbeiter nicht leer ist und der eingegebene Wert keine Groß-/Kleinschreibung hat -empfindlich.
In der neuen Version von SpringBoot funktionierte diese Put-Anfrage nicht. Der Grund dafür ist, dass Springboot automatisch konfiguriert wird, was uns hilft, den ersten Schritt der Konfiguration wegzulassen. Die obige Codemethode besteht darin, eine automatische Konfiguration zu erreichen, aber da die Annotation @ConditionalOnProperty die automatische Konfiguration einschränkt, aktiviert der Standardwert „false“ die Konfiguration nicht, sodass die Put-Übermittlung erfolgt der Seite können nicht verwendet werden.
Konfigurieren Sie in der Eigenschaftenkonfigurationsdatei, um die automatische Konfiguration zu aktivieren: spring.mvc.hiddenmethod.filter.enabled=true.
Darüber hinaus können auf die gleiche Weise auch DELETE-Anfragen gesetzt werden.
<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>
Jeder, der MVC studiert hat, weiß, dass Sie, wenn Sie diese beiden speziellen Anfragen unterstützen möchten, zunächst Folgendes im Web konfigurieren müssen. xml-Filter:
<!--增加一个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>
Und SpringBoot ist nicht so problematisch, da es uns geholfen hat, HiddenHttpMethodFilter standardmäßig in den IOC-Container zu integrieren, sodass seine Verwendung äußerst einfach ist:
#🎜 🎜#1. Konfigurieren Sie in application.properties#开启支持put delete请求的过滤器 spring.mvc.hiddenmethod.filter.enabled=true
<!--http请求方式--> <form action="..." method="post"> <input type="hidden" name="_method" value="put" /> <!--value值改成delete 请求方式就为delete了--> </form>Beachten Sie, dass der Name des ausgeblendeten Felds oben „_method“ sein muss. Wenn Sie es ändern möchten, müssen Sie die folgende Bean zum IOC hinzufügen:
@Bean public HiddenHttpMethodFilter hiddenHttpMethodFilter(){ HiddenHttpMethodFilter methodFilter = new HiddenHttpMethodFilter(); methodFilter.setMethodParam("_m");//将隐藏域 _method --> _m return methodFilter; }
Das obige ist der detaillierte Inhalt vonSo verwenden Sie PUT- und Löschanforderungen in SpringBoot. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!