Avec le développement d'Internet et l'essor des sites Web, le développement front-end et le développement back-end sont de plus en plus intégrés. Node.js est un puissant langage et framework de développement back-end, et son API a également continué à croître et à se développer. Parmi eux, le protocole de requête HTTP fait partie intégrante de l'API Node.js. En développement, PUT et PATCH sont souvent utilisés comme deux méthodes de requête. Cet article présentera en détail les différences entre ces deux méthodes de requête.
Demande PUT
La requête PUT consiste à mettre à jour (ou remplacer) une ressource connue. Normalement, une requête PUT définira toutes les propriétés (champs) de la ressource ; si certains champs ne sont pas définis, ils peuvent être considérés comme nuls. Lorsque vous utilisez une requête PUT pour mettre à jour une ressource connue, toutes les données du corps de la requête seront remplacées par les données d'origine, donc généralement, une requête PUT mettra à jour toutes les valeurs de champ au lieu de les mettre à jour si nécessaire.
Par exemple : nous avons un système de gestion de compte utilisateur, dans lequel les attributs d'un compte incluent le nom d'utilisateur, le mot de passe et l'e-mail. Nous pouvons mettre à jour les attributs de ce compte via une requête PUT. Si vous utilisez PUT pour mettre à jour, vous devez transmettre les trois attributs du nom d'utilisateur, du mot de passe et de l'e-mail au backend. Après la mise à jour, les données d'origine seront remplacées. Si l'une des propriétés n'est pas mise à jour, le backend mettra à jour la valeur de la propriété sur null.
En termes d'implémentation du code, la requête PUT est implémentée dans Node.js comme suit :
app.put('/user/:id', (req, res) => { const userId = req.params.id; const userData = req.body; // 获取请求体中的数据 //执行更新操作 //... });
Requête PATCH
La requête PATCH consiste à mettre à jour certaines ressources connues. Par rapport aux requêtes PUT, les requêtes PATCH mettront à jour uniquement les attributs fournis dans le corps de la requête. Pour les attributs non fournis dans le corps de la requête, la valeur d'origine de la ressource ne sera pas affectée.
Par exemple : si nous devons mettre à jour le mot de passe dans le système de compte ci-dessus, nous pouvons utiliser la requête PATCH. Dans la requête PATCH, il suffit d'envoyer les données au format JSON contenant la mise à jour du mot de passe au backend, sans mettre à jour tous les champs. Après la mise à jour, les valeurs des autres champs resteront inchangées.
En termes d'implémentation du code, la requête PATCH est implémentée dans Node.js comme suit :
app.patch('/user/:id', (req, res) => { const userId = req.params.id; const userData = req.body; // 获取请求体中的数据 //将请求体中的数据更新到数据库 //... });
La différence entre PUT et PATCH
PUT et PATCH sont tous deux utilisés pour mettre à jour les ressources existantes, mais leurs différences se reflètent principalement dans ce qui suit aspects :
La requête PUT remplacera toutes les données du corps de la requête par les données d'origine. Normalement, la requête PUT mettra à jour toutes les valeurs des champs plutôt que de mettre à jour à la demande. La requête PATCH mettra uniquement à jour les attributs fournis dans le corps de la requête avec la ressource d'origine.
La requête PUT mettra à jour les attributs non fournis dans le corps de la requête à null tandis que la requête PATCH ne sera pas affectée et la valeur d'origine ne changera pas.
Les requêtes PUT demandent si les données transmises sont complètement cohérentes avec les informations de données d'arrière-plan au moment de la requête. Si tel est le cas, une fois que le serveur a déterminé que le. les mêmes données sont les mêmes, elles reviendront directement (réduit un échange d'informations de données), ce qui rendra la bande passante de la demande petite et rapide.
En résumé, les requêtes PUT et PATCH sont toutes deux utilisées pour mettre à jour des ressources connues, mais elles sont différentes dans la méthode de mise à jour, la méthode de traitement des données et les performances non fournies dans le corps de la requête. Dans les applications réelles, les développeurs doivent choisir différentes méthodes de requête en fonction de différents besoins.
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!