Maison > Java > javaDidacticiel > Comment utiliser les requêtes PUT et Supprimer dans SpringBoot

Comment utiliser les requêtes PUT et Supprimer dans SpringBoot

WBOY
Libérer: 2023-05-13 12:16:06
avant
1925 Les gens l'ont consulté

Les requêtes PUT et Delete sont utilisées

Dans le formulaire Form, seules les méthodes get et post sont prises en charge. Afin d'implémenter la méthode put

, nous pouvons l'implémenter à travers les trois étapes suivantes

1) Configurer HiddenHttpMethodFilter dans SpringMVC

.

2) Créez un formulaire de publication de page

3) Créez un élément d'entrée, name="_method", la valeur est la méthode de requête spécifiée

Parmi eux, dans la classe HiddenHttpMethodFilter

Comment utiliser les requêtes PUT et Supprimer dans SpringBoot

obtenez la valeur de "_method " et obtenez la nouvelle méthode de requête.

Comment utiliser les requêtes PUT et Supprimer dans SpringBoot

<input type="hidden" name="_method" value="put" th:if="${employee!=null}"/>
Copier après la connexion

La ème balise est le modèle thymeleaf, ce qui signifie qu'elle ne prendra effet que lorsque l'employé n'est pas vide et que la valeur mise n'est pas sensible à la casse.

Dans la nouvelle version de SpringBoot, cette requête put ne fonctionnait pas. La raison en est que Springboot se configure automatiquement, ce qui nous aide à omettre la première étape de configuration. La méthode de code ci-dessus consiste à réaliser une configuration automatique, mais comme l'annotation @ConditionalOnProperty limite la configuration automatique, la valeur par défaut false n'active pas la configuration, donc la soumission put. de la page ne peut pas être utilisé.

Solution

Configurez dans le fichier de configuration des propriétés pour activer la configuration automatique : spring.mvc.hiddenmethod.filter.enabled=true.

De plus, les requêtes DELETE peuvent également être paramétrées de la même manière.

<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>
Copier après la connexion

Comment prendre en charge les requêtes put/delete

Tous ceux qui ont étudié mvc savent que si vous souhaitez prendre en charge ces deux requêtes spéciales, vous devez d'abord configurer les filtres suivants dans 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>
Copier après la connexion

Mais SpringBoot ne le fait pas C'est gênant, car cela nous a aidé à intégrer HiddenHttpMethodFilter dans le conteneur IOC par défaut, donc son utilisation est extrêmement simple :

1 Configurez-le dans application.properties

#开启支持put delete请求的过滤器
spring.mvc.hiddenmethod.filter.enabled=true
Copier après la connexion

2.

Seulement Vous devez ajouter le champ caché suivant au formulaire de demande de publication :

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

Notez que le nom du champ caché ci-dessus doit être "_method". Si vous souhaitez le modifier, vous devez ajouter le bean suivant au fichier. CIO :

@Bean
public HiddenHttpMethodFilter hiddenHttpMethodFilter(){
    HiddenHttpMethodFilter methodFilter = new HiddenHttpMethodFilter();
    methodFilter.setMethodParam("_m");//将隐藏域 _method --> _m
    return methodFilter;
}
Copier après la connexion

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:yisu.com
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal