Maison > Questions et réponses > le corps du texte
P粉2084690502023-08-18 00:37:22
On dirait que vous rencontrez un comportement inattendu lorsque vous effectuez deux requêtes GET différentes dans Postman lors de l'utilisation du routage Express.js. Plus précisément, lorsque vous envoyez une requête à la deuxième route (/allUser), vous recevez une réponse de la première route (/:id). Ce comportement n'est pas conforme à vos attentes.
Voici quelques éléments que vous pouvez vérifier pour résoudre le problème :
Ordre de routage : assurez-vous que l'ordre de routage dans Express Router est correct. Les itinéraires sont mis en correspondance dans l'ordre dans lequel ils sont définis. Si la route /:id est définie avant la route /allUser, elle peut intercepter les requêtes qui doivent être envoyées à la route /allUser. L'ordre des itinéraires peut être inversé si vous le souhaitez.
Conflits de paramètres de route : assurez-vous que les paramètres définis dans la route /:id n'entrent pas en conflit avec les valeurs possibles de la route /allUser. Par exemple, si vous utilisez un paramètre générique tel que /:id, il peut accidentellement correspondre à la chaîne « allUser » et déclencher une mauvaise route. Si nécessaire, les paramètres de l'itinéraire peuvent être modifiés pour les rendre plus spécifiques.
Middleware d'itinéraire : vérifiez s'il existe un middleware appliqué à l'itinéraire qui pourrait provoquer un comportement inattendu. Dans ce cas, le middleware [auth] peut affecter la façon dont le routage est géré. Veuillez vérifier le middleware pour vous assurer qu'il n'interfère pas avec le comportement normal du routage.
Les chemins de routage se chevauchent : vérifiez que les chemins de routage sont différents et ne se chevauchent pas. Par exemple, si les chemins de route sont /allUser et /:id, Express ne devrait avoir aucune ambiguïté dans la correspondance des demandes entrantes avec ces routes.
Voici comment ajuster vos définitions d'itinéraire pour plus de clarté :
// 在正确的顺序中定义路由 router.get( "/allUser", usersController.getAllUser ); router.get( "/:id", [auth], usersController.getUser );
Gardez à l'esprit qu'il est difficile d'identifier le problème sans voir le code complet et le contexte. Toutefois, ces étapes de dépannage générales devraient vous aider à identifier et à résoudre le problème.