Da Sie in den Routing-Einstellungen von Spark Platzhalter angeben können, besteht die Möglichkeit, dass dieselbe URL mit mehreren Routen übereinstimmt. Beim Abgleichen mehrerer Routen scheint die zuvor definierte Route Vorrang zu haben.
Es kann auch unter statischen Dateien leiden, aber ihre Priorität ist niedriger als bei Java-Programmen. Aus irgendeinem Grund hat jedoch nur index.html den höchsten Rang. Was ist diese Spezifikation?
Zum Beispiel, wenn Sie das folgende Programm haben
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"); //Dies wird niemals genannt
}
}
Das Routing ist wie folgt.
/ → Wenn index.html in der statischen Datei vorhanden ist, wird diese priorisiert. Wenn es nicht existiert, wird "Hallo Index" angezeigt. /index.html → Wenn index.html in der statischen Datei vorhanden ist, wird diese priorisiert. Wenn es nicht existiert, wird "Dies ist index.html" angezeigt. / sample → "Hallo Probe" wird angezeigt. / sample2 → "das ist sample2" wird angezeigt. /sample.html → "Hallo sample.html" wird angezeigt. Die statische Datei sample.html wird nicht aufgerufen.
Es ist ziemlich kompliziert.
Recommended Posts