Ich baue eine Rest-API mit Spring Boot und wenn ich eine Abfrage mit "?" Zeichen, um die get-Methode mit dem Abfrageparameter "?" Das Zeichen ist nicht codiert.falsche Codierung für "?" Charakter in Rest api
Hier finden Sie meinen Federregler.
@RequestMapping(value = "/response/{query}", method = RequestMethod.GET,headers="Accept=application/json")
public QueryRep getResponse(@PathVariable("query") String query)
{
QueryRep test=new QueryRep();
System.out.println(query);
// code !!
return test;
}
Wenn ich zum Beispiel testen: Wie heißt ich? Ich erhalte die folgende URL: http://localhost:8080/response/what%20is%20my%20name? und ich bekomme in meiner Konsole die Zeichenfolge "wie heißt ich" (ohne das "?" - Zeichen). Wie Sie das "?" Das Zeichen ist nicht als UTF-8% 3F codiert, während maven (pom.xml) und die IDE (STS) für die Verwendung von UTF-8 konfiguriert sind. Ich benutze Tomcat als Webserver.
wenn '?' ist ein gültiger Charakter in URI, also warum ich es in meiner Abfrage nicht bekommen kann, bekomme ich einfach die Frage ohne '?' , Vielen Dank. – desmanda
Antwort aktualisiert, um mehr Details zu geben. – digitaljoel