É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