spring boot MVC falsch codierten POST-Anforderung

Kann ich nicht machen, request-Kodierung, um korrekt zu arbeiten. Für die Codierung zu arbeiten, habe ich Hinzugefügt, filter, Feder, Sicherheit:

@Bean
public CharacterEncodingFilter characterEncodingFilter() {
    CharacterEncodingFilter filter = new CharacterEncodingFilter();
    filter.setEncoding("UTF-8");
    filter.setForceEncoding(true);
    return filter;
}
@Override
protected void configure(HttpSecurity http) throws Exception {
    http.addFilterBefore(characterEncodingFilter(), CsrfFilter.class);
...
}

Hinzufügen von meta-zu meinen Seiten:

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <meta charset="utf-8" />
...

Hinzufügen UriEnconding zu tomcat 8:

<Connector port="8080" protocol="HTTP/1.1" URIEncoding="UTF-8"
   connectionTimeout="20000"
   redirectPort="8443" />

Aber es reagiert nicht auf keine von Ihnen. Wenn ich eine Anfrage zu senden und zu Debuggen, ist das Ergebnis falsch ist. Wenn ich zum Beispiel senden بای als Teil der request form, ich erhalte Ø¨Ø§Û als Ergebnis. Ist da ein Teil in der config, die ich bin fehlt?

Beim senden Nutzlast ajax request (mit rest-client und ofcors zu einer anderen Methode) es arbeitet korrekt, aber kein Glück mit der Formular-Daten. Mein controller sieht so aus:

@RequestMapping(value = "/test1")
@ResponseBody
public String test1(@RequestBody String req) {
    return req;
}

@RequestMapping(value = "/test2")
@ResponseBody
public String test2(@RequestParam("search") String req) {
    return req;
}

anders versucht:

  1. für test1 mit Content-Type=application/json es richtig, erhält der parameter.
  2. für test2 mit Content-Type=application/x-www-form-urlencoded - und get-Methode, funktioniert wieder alles Super.
  3. für test2 mit Content-Type=application/x-www-form-urlencoded - und POST-Methode, es gibt falsche kodierte Werte.

Scheint es das problem mit der POST-Methode nur. irgendwelche Vorschläge?

InformationsquelleAutor alizelzele | 2015-06-30
Schreibe einen Kommentar