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

So verwenden Sie PUT- und Löschanforderungen in SpringBoot

WBOY
WBOYnach vorne
2023-05-13 12:16:061923Durchsuche

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}"/>

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>

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>

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

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>

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!

Stellungnahme:
Dieser Artikel ist reproduziert unter:yisu.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen