Table des matières
Les requêtes PUT et Delete sont utilisées
, nous pouvons l'implémenter à travers les trois étapes suivantes
Solution
Comment prendre en charge les requêtes put/delete
1 Configurez-le dans application.properties
2.
Maison Java javaDidacticiel Comment utiliser les requêtes PUT et Supprimer dans SpringBoot

Comment utiliser les requêtes PUT et Supprimer dans SpringBoot

May 13, 2023 pm 12:16 PM
delete springboot put

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!

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

Article chaud

Combien de temps faut-il pour battre Split Fiction?
3 Il y a quelques semaines By DDD
Repo: Comment relancer ses coéquipiers
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Comment obtenir des graines géantes
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
1 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌

Article chaud

Combien de temps faut-il pour battre Split Fiction?
3 Il y a quelques semaines By DDD
Repo: Comment relancer ses coéquipiers
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Comment obtenir des graines géantes
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
1 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌

Tags d'article chaud

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Comment Springboot intègre Jasypt pour implémenter le chiffrement des fichiers de configuration Comment Springboot intègre Jasypt pour implémenter le chiffrement des fichiers de configuration Jun 01, 2023 am 08:55 AM

Comment Springboot intègre Jasypt pour implémenter le chiffrement des fichiers de configuration

Comment utiliser Redis pour implémenter des verrous distribués dans SpringBoot Comment utiliser Redis pour implémenter des verrous distribués dans SpringBoot Jun 03, 2023 am 08:16 AM

Comment utiliser Redis pour implémenter des verrous distribués dans SpringBoot

Comment résoudre le problème selon lequel Springboot ne peut pas accéder au fichier après l'avoir lu dans un package jar Comment résoudre le problème selon lequel Springboot ne peut pas accéder au fichier après l'avoir lu dans un package jar Jun 03, 2023 pm 04:38 PM

Comment résoudre le problème selon lequel Springboot ne peut pas accéder au fichier après l'avoir lu dans un package jar

Comparaison et analyse des différences entre SpringBoot et SpringMVC Comparaison et analyse des différences entre SpringBoot et SpringMVC Dec 29, 2023 am 11:02 AM

Comparaison et analyse des différences entre SpringBoot et SpringMVC

Comment SpringBoot personnalise Redis pour implémenter la sérialisation du cache Comment SpringBoot personnalise Redis pour implémenter la sérialisation du cache Jun 03, 2023 am 11:32 AM

Comment SpringBoot personnalise Redis pour implémenter la sérialisation du cache

Comment obtenir la valeur dans application.yml au Springboot Comment obtenir la valeur dans application.yml au Springboot Jun 03, 2023 pm 06:43 PM

Comment obtenir la valeur dans application.yml au Springboot

Comment implémenter Springboot+Mybatis-plus sans utiliser d'instructions SQL pour ajouter plusieurs tables Comment implémenter Springboot+Mybatis-plus sans utiliser d'instructions SQL pour ajouter plusieurs tables Jun 02, 2023 am 11:07 AM

Comment implémenter Springboot+Mybatis-plus sans utiliser d'instructions SQL pour ajouter plusieurs tables

Comment utiliser la méthode de requête PUT dans jQuery ? Comment utiliser la méthode de requête PUT dans jQuery ? Feb 28, 2024 pm 03:12 PM

Comment utiliser la méthode de requête PUT dans jQuery ?

See all articles