Ich bin ein Filter zuordnen, um einige erforderliche Felder vor der Anmeldung zu überprüfen. Mein Code sieht so aus:Spark läuft vor dem Filter zweimal
before("/login", (req, res) -> {
// do some things
LOGGER.debug("before /login");
LOGGER.debug("Request -> " + req);
LOGGER.degub("body " + req.body());
}
Wenn meine Anwendung läuft, die before
Filter zweimal aufgerufen wird.
In jedem der req
sind verschiedene Instanzen. In der ersten ist der Inhalt von req.body()
eine leere Zeichenfolge. Im zweiten Fall ist der Inhalt genau das, was ich von meiner Client-Anwendung gesendet habe.
Debugging, ich habe einen Filter mit Pfad gefunden wird beschrieben als +/*paths
in SparkUtils
Klasse deklariert.
Es gibt zwei Fragen:
- Wie kann ich dieses Verhalten zu deaktivieren?
- Was ist der Zweck des Filters als
+/*paths
deklariert?
Ich glaube, dass aufgrund der Filter zweimal aufgerufen wird, ist, weil ich die Schritte zu Aktiviert CORS wie here befolgt haben. Wie auch immer, ich muss CORS verwenden, aber der Filter, der zweimal aufgerufen wird, war ein Problem in meinem Szenario.
Ich tat, wie Sie vorschlagen, die Suche nach 'if (HttpMethod.post.name(). EqualsIgnoreCase (req.requestMethod()))'. Ich bin mir nicht sicher, ob es elegant ist, aber es löst. – josivan
@josivan ja, es wird funktionieren, aber wenn Sie mich fragen, ich persönlich denke, es ist nicht elegant –