Principales différences entre req.query
et req.param
dans Express
- En quoi les deux sont-ils différents l'un de l'autre
- Quand utiliser puis dans quels cas
Supposons qu'un client envoie une paire Android (clé, valeur) dans la demande ........ lequel utiliser?
[ÉDITER]
Supposons qu'android envoie une requête POST -> L'intention est d'envoyer (clé, valeur) au client et que le serveur doit effectuer une requête de base de données basée sur la valeur du serveur et renvoyer la réponse JSON
Regardez :: cette question pour le programme i référencé: : programme simple Express pour l' interrogation d' un résultat
req.query
etreq.param
?Réponses:
req.query
renverra un objet JS une fois la chaîne de requête analysée./ user? name = tom & age = 55 -
req.query
donnerait{name:"tom", age: "55"}
req.params
renverra les paramètres de l'itinéraire correspondant. Si votre route est / user /: id et que vous faites une demande à / user / 5 -req.params
cela donnerait{id: "5"}
req.param
est une fonction qui élimine les paramètres de la requête. Tout cela peut être trouvé ici .MISE À JOUR
Si le verbe est a
POST
et que vous utilisezbodyParser
, vous devriez pouvoir obtenir le corps du formulaire dans lequel vous travaillezreq.body
. Ce sera la version JS analysée duPOST
formulaire ed.la source
req.query
est la chaîne de requête envoyée au serveur, exemple/page?
test = 1 ,req.param
correspond aux paramètres transmis au gestionnaire.app.get('/user/:id', handler);
, aller/user/blah
,req.param.id
reviendraitblah
;la source
req.data
, si c'est GET t'll être dansreq.param
c.Param("id") == ""
Je suggérerais d'utiliser la suite
req.param('<param_name>')
req.param ("") fonctionne comme suit
La recherche est effectuée dans l'ordre suivant:
L'accès direct à req.body, req.params et req.query doit être privilégié pour plus de clarté - à moins que vous n'acceptiez vraiment l'entrée de chaque objet.
Réf: http://expressjs.com/4x/api.html#req.param
la source
Passer des paramètres
GET request to "/cars/honda"
renvoie une liste de modèles de voitures Honda
Passer la requête
GET request to "/car/honda?color=blue"
renvoie une liste de modèles de voitures Honda, mais filtrée de sorte que seuls les modèles dont la couleur d'origine est bleue sont renvoyés.
Cela n'a pas de sens d'ajouter ces filtres dans les paramètres d'URL (/ car / honda / color / blue) parce que selon REST, cela impliquerait que nous voulons obtenir un tas d'informations sur la couleur "bleu". Puisque ce que nous voulons vraiment, c'est une liste filtrée de modèles Honda, nous utilisons des chaînes de requête pour filtrer les résultats renvoyés.
Notez que les chaînes de requête ne sont en réalité que des paires {clé: valeur} dans un format légèrement différent:? Clé1 = valeur1 & clé2 = valeur2 & clé3 = valeur3.
la source