Ich finde einige Schwierigkeiten mit diesem speziellen Fall von Pfadvariable Verwendung in Spring MVC.Warum habe ich dieses falsche Verhalten, das eine E-mail-Adresse als Wert einer Spring MVC-Pfadvariablen übergibt?
So öffne ich eine URL wie folgt aus:
localhost:8080/my-project/utenze/my.username/confermaEmail/[email protected]
In mein Controller-Klasse I dieses Controller-Methode haben, die URL wie folgt behandeln:
@RequestMapping(value = "utenze/{username}/confermaEmail/{email}", method = RequestMethod.GET)
public String confermaModificaEmail(@RequestHeader(value = HEADER_USER_CG) String codicefiscale,
@PathVariable String username, @PathVariable String email, Model model) {
logger.info("INTO confermaModificaEmail(), indirizzo e-mail: " + email);
...................................................................
...................................................................
...................................................................
return "myView";
}
Die vorherige Anfrage korrekt gehandhabt wird, aber ich habe das folgende Problem mit der E-Mail Pfadvariablenwert.
Das Problem ist, dass die E-Mail- Pfad Variablenwert ist nicht [email protected] wie ich erwarten würde, aber es ist [email protected].
Spring löscht automatisch den letzten .com Abschnitt des eingefügten Werts.
Warum? Was ist das Problem? Was vermisse ich? Wie kann ich versuchen, dieses Problem zu lösen?
ein schneller Weg, um dieses Problem zu beheben ist: Machen Sie eine Methode (zum Beispiel emailFixer) und überprüfen Sie die E-Mail (Methodenparameter) mit dem Vorhandensein von .com als letztes der E-Mail und wenn es nicht dort war, dann fügen Sie es hinzu und senden Sie es zurück. –
Siehe http://stackoverflow.com/a/34164388/2696260 –