[JAVA] Ordre d'évaluation de l'itinéraire dans Spark

Étant donné que vous pouvez spécifier des caractères génériques dans les paramètres de routage de Spark, il est possible que la même URL corresponde à plusieurs itinéraires. Lors de la mise en correspondance de plusieurs itinéraires, il semble que celui défini précédemment a la priorité.

Il peut également souffrir de fichiers statiques, mais leur priorité est inférieure à celle des programmes Java. Cependant, seul index.html a le classement le plus élevé pour une raison quelconque. Quelle est cette spécification?

Par exemple, si vous avez le programme suivant

python


public class Main {

  public static void main(String[] args) {

    staticFiles.externalLocation(".");

    get("/", (request, response) -> "hello index");
    get("/sample", (request, response) -> "hello sample");
    get("/sample.html", (request, response) -> "hello sample.html");
    get("/:value", (request, response) -> "this is " + request.params("value"));
    get("/sample2", (request, response) -> "hello sample2"); //Cela ne s'appelle jamais
  }
}

Le routage est le suivant.

/ → Si index.html existe dans le fichier statique, c'est prioritaire. S'il n'existe pas, "hello index" s'affiche. /index.html → Si index.html existe dans le fichier statique, c'est prioritaire. S'il n'existe pas, "this is index.html" s'affiche. / sample → "hello sample" s'affiche. / sample2 → "this is sample2" s'affiche. /sample.html → "hello sample.html" s'affiche. Le fichier statique sample.html n'est pas appelé.

C'est assez compliqué.

Recommended Posts

Ordre d'évaluation de l'itinéraire dans Spark
Ordre de traitement dans le programme
SaveAsBinaryFile dans Spark
[Order method] Définit l'ordre des données dans Rails
[Ruby] À propos du comportement d'évaluation des expressions conditionnelles dans while
Ordre des modificateurs utilisés dans Swift (voir SwiftLint)
[Rails] Classement et pagination par J'aime
À propos de l'évaluation des opérateurs logiques
Sortie en multiples de 3
Organiser les publications par ordre de likes sur Rails (classement)
Mise en place de la fonction de tri des rails (affichés par ordre de nombre de like)
Implémentation Java de tri-tree
Les pièges de JAX-RS WebTarget.queryParam ()
Implémentation de HashMap avec kotlin
[Java] Obtenez les dates des derniers lundi et dimanche dans l'ordre
La validation de printemps était importante dans l'ordre de Form et BindingResult