Heim > Java > javaLernprogramm > So verwenden Sie PUT- und Löschanforderungen in SpringBoot

So verwenden Sie PUT- und Löschanforderungen in SpringBoot

WBOY
Freigeben: 2023-05-13 12:16:06
nach vorne
1920 Leute haben es durchsucht

PUT- und Löschanforderungen verwenden

Im Formularformular werden nur Get- und Post-Methoden unterstützt, und um die Put-Methode

zu implementieren, können wir sie implementieren durch die folgenden drei Schritte

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

So verwenden Sie PUT- und Löschanforderungen in SpringBoot

Erhalten Sie den Wert von „_method“ und erhalten Sie einen neuen Anforderungsweg.

So verwenden Sie PUT- und Löschanforderungen in SpringBoot

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

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.

Lösung

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>
Nach dem Login kopieren

So unterstützen Sie Put-/Delete-Anfragen

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>
Nach dem Login kopieren

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
Nach dem Login kopieren

2. Bei Verwendung ist es immer noch dasselbe wie springmvc

Sie müssen nur das folgende versteckte Feld zum Formular des Beitrags hinzufügen Anforderungsmethode:

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

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;
}
Nach dem Login kopieren

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!

Verwandte Etiketten:
Quelle:yisu.com
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage