Maison > développement back-end > tutoriel php > **Pourquoi les requêtes PATCH et PUT avec FormData échouent-elles dans Laravel ?**

**Pourquoi les requêtes PATCH et PUT avec FormData échouent-elles dans Laravel ?**

Barbara Streisand
Libérer: 2024-10-24 18:13:46
original
1040 Les gens l'ont consulté

**Why Do PATCH and PUT Requests with FormData Fail in Laravel?**

Requêtes HTTP PATCH et PUT avec FormData dans Laravel

Dans les applications Laravel RESTful, il arrive souvent que les requêtes PATCH et PUT ne parviennent pas à récupérer data lorsqu'elles sont envoyées par Postman à l'aide de form-data.

Le problème

Lors de l'utilisation de form-data, la méthode $request->all() renvoie un tableau vide pour les requêtes PATCH et PUT. Cela empêche le backend de recevoir les paramètres attendus.

Solution

Pour résoudre ce problème, une solution de contournement est utilisée en convertissant la requête PUT ou PATCH en requête POST dans Postman :

  1. Dans Postman, créez une nouvelle requête et sélectionnez la méthode POST.
  2. Accédez à l'onglet « Corps » et sélectionnez « form-data » comme format de données.
  3. Ajoutez les paramètres souhaités dans les champs "Clé" et "Valeur".

En modifiant le type de requête dans Postman, les données seront envoyées avec succès sous forme de requête POST, même si il est acheminé sous forme de requête PATCH ou PUT.

Exemple

Pour une requête POST avec des données envoyées via form-data :

Route::post('testimonials/{testimonial}', 'TestimonialController@update');
Copier après la connexion

Lors de l'utilisation de PATCH ou PUT avec des données de formulaire dans Postman :

// Request will be received as a POST request
Route::patch('testimonials/{testimonial}', 'TestimonialController@update');
Route::put('testimonials/{testimonial}', 'TestimonialController@update');
Copier après la connexion

Remarque :

Cette solution de contournement peut ne pas être conforme aux principes RESTful, car elle modifie effectivement le type de demande à POST. Cependant, il fournit une solution fonctionnelle pour transférer des données via des données de formulaire avec des requêtes PATCH et PUT.

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!

source:php.cn
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal