0
votes

Le routeur nié Webflux sur root retourne toujours 404

J'ai un champ de routeur avec des itinéraires imbriqués, tout sauf un itinéraire fait avec je pense qu'ils sont censés faire. de
Mais lorsque j'essaie d'appeler l'une des voies racines à l'intérieur d'une route imbriquée, j'obtiens toujours un 404. Cela ne se produit que avec cette route particulière et lorsque je le change de root à "/ foo" commence à fonctionner.

Code: xxx

L'itinéraire qui ne fonctionne pas correctement est le suivant: xxx

la chose étrange est sous la racine Chemin et marques Path Je fais exactement la même chose et ces itinéraires fonctionnent.

Merci d'avoir utilisé


3 commentaires

Pourriez-vous fournir plus d'informations? Quelles sont les valeurs de apipath et base_path ?


APIPATH = "/ API / V1" et BASE_PATH = "/ Produits"


J'ai donc compris que "/ API / V1 / Produits / Catégorie /" retourne un 404, mais quand j'utilise "/ API / V1 / Produits / Catégorie //" Cela renvoie la liste que je m'attends, j'ai vu que c'était un bug sur GitHub quelque part, mais je ne peux pas sembler le retrouver, j'utilise Spring-boot 2.1.2 avec Webflux 5.1.4


3 Réponses :


0
votes

En ce moment, il y a un bogue ouvert à Weblux sur la cartographie de l'élément racine: https://github.com/spring-projects/spring-boot/issues/9785

Vous devez utiliser une redirection ou aucune utilisation de la cartographie "/".


2 commentaires

C'est un problème différent; Le problème que vous signalez est de soutenir la prise en charge de la page de bienvenue dans les bottes de printemps. Dans ce cas, l'OP tente de faire correspondre un itinéraire sous un chemin imbriqué.


Oui, tu as raison. Je suis confronté récemment, je pensais que cela s'appliquerait aussi pour la cartographie de la racine de base aussi



2
votes

Je n'ai pas réussi à reproduire ce problème sur le spring boot 2.1.2.Release, avec les éléments suivants: xxx pré>

Je reçois le résultat: p>

➜  ~ http :8080/test
HTTP/1.1 200 OK
Content-Length: 4
Content-Type: text/plain;charset=UTF-8

TEST

➜  ~ http :8080/test/
HTTP/1.1 200 OK
Content-Length: 4
Content-Type: text/plain;charset=UTF-8

TEST

➜  ~ http :8080/test/other
HTTP/1.1 200 OK
Content-Length: 5
Content-Type: text/plain;charset=UTF-8

OTHER

➜  ~ http :8080/test/other/
HTTP/1.1 200 OK
Content-Length: 5
Content-Type: text/plain;charset=UTF-8

OTHER

➜  ~ http :8080/test/other/something
HTTP/1.1 200 OK
Content-Length: 2
Content-Type: text/plain;charset=UTF-8

ID


3 commentaires

J'ai trouvé quel est le problème, c'est parce qu'il y a une path envisable sur le chemin "/ Test" (dans votre exemple), et Webfflux envisage le "autre" chemin comme une variable de chemin, je vais créer un problème au printemps Suivez le tracker, mais THX pour m'aider à me regarder!


Ce n'est peut-être pas un problème alors - gardez à l'esprit que les fonctions de routeur concernent le premier itinéraire qui correspond. La commande est donc importante, contrairement au modèle d'annotation. Si vous créez un problème, veuillez fournir un échantillon réduit que nous pouvons exécuter. Merci!


Thx pour l'aide Brian, je l'ai compris avec l'aide que j'ai de toi



0
votes

Merci au commentaire de Brian CLOZEL, j'ai pu le comprendre xxx

de sorte que cela à l'esprit, j'ai restructuré mes champs de routeurs de la manière suivante: xxx

J'ai déplacé le / la catégorie et / la chemise de marque plus haut dans la chaîne que le chemin racine et cela fonctionne comme prévu.

à nouveau THX Brian pour l'aide!


0 commentaires