Ich habe folgende URLUmgang mit Sonderzeichen in REST API
http://context_path/info/abc/def
die wie
http://context_path/info/abc%2Fdef
umgewandelt wird Wo, wie mein Controller-Mapping ist:
@RequestMapping(value = "/info/{id}", method = RequestMethod.GET)
hier ‚id ' enthält Schrägstrich (/). Wenn ich also auf die URL klicke, bekomme ich 400 Bad Request.
Ich kenne die möglichen Lösungen
- Einstellung Kater nach vorn ermöglichen zu zerschneiden.
- Verwenden Sie die URL-Codierung.
- Verwendung von
@RequestParam
anstelle von@PathVariable
.
Aber obige Lösung sind für mich nicht möglich.
Q. Gibt es eine andere Lösung wie (mit regulären Ausdruck oder Ändern der Zuordnung oder irgendetwas anderes) auf das Problem? Auch wie der Tomcat andere Sonderzeichen behandelt ('.', '' ',': ',', ') korrekt und Controller wird aber nicht für '/'.
versucht, aber nicht funktioniert:
1) @RequestMapping(value = "/info/{id:.*}", method = RequestMethod.GET)
2) @RequestMapping(value = "/info/{id}/**", method = RequestMethod.GET)
3) @RequestMapping(value = "/info/**", method = RequestMethod.GET)
Mögliche Duplikat [Das Spiel "Rest der URL" mit Sp Ring 3 RequestMapping Annotation] (http://stackoverflow.com/questions/4542489/match-the-rest-of-the-url-using-spring-3-requestmapping-annotation) – user1211
Aber warum gibt es einen Schrägstrich in Ihrer ID Wert? – ScanQR
@TechBreak Ich weiß es falsch. aber ich arbeite an alten Werten und kann diese nicht ändern. – SuhasD