Antwortinhaltstyp in Spring MVC über @ResponseBody festlegen
Bei der Entwicklung mit Spring MVC und der Annotation @ResponseBody ist die Kontrolle wichtig der Inhaltstyp der Antwort. In einem Fall stieß ein Benutzer auf ein Problem, bei dem die Antwort mit ISO-8859-1-Codierung statt mit dem gewünschten UTF-8 angezeigt wurde, obwohl der Inhaltstyp in der Controller-Methode explizit auf UTF-8 gesetzt war.
Lösung
Um dieses Problem zu beheben, hat der Benutzer festgestellt, dass die @ResponseBody-Annotation selbst die Angabe des Inhaltstyps über das Producer-Attribut unterstützt. Durch das Hinzufügen der folgenden Zeile zur Controller-Methode konnten sie den Inhaltstyp der Antwort explizit definieren:
<code class="java">@RequestMapping(value = "ajax/gethelp") @ResponseBody(produces = "text/plain; charset=UTF-8") public String handleGetHelp(Locale loc, String code, HttpServletResponse response) { // ... }</code>
Diese Konfiguration ermöglicht es der Controller-Methode, eine Nur-Text-Antwort mit UTF-8-Kodierung zurückzugeben , wie beabsichtigt.
Zusätzliche Hinweise
Für Benutzer, die Spring 3.1 und höher verwenden, bietet die Annotation @ResponseBody einen einfacheren Ansatz zum Festlegen des Antwortinhaltstyps im Vergleich zu Verwenden einer benutzerdefinierten Konverterstrategie.
Das obige ist der detaillierte Inhalt vonWie kann die ordnungsgemäße Codierung des Inhaltstyps in @ResponseBody-Antworten von Spring MVC sichergestellt werden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!