Définition du type de contenu de réponse dans Spring MVC via @ResponseBody
Lors du développement avec Spring MVC et l'annotation @ResponseBody, il est important de contrôler le type de contenu de la réponse. Dans un cas, un utilisateur a rencontré un problème où la réponse s'affichait avec le codage ISO-8859-1 au lieu du codage UTF-8 souhaité, malgré la définition explicite du type de contenu sur UTF-8 dans la méthode du contrôleur.
Solution
Pour résoudre ce problème, l'utilisateur a découvert que l'annotation @ResponseBody elle-même prend en charge la spécification du type de contenu via l'attribut produit. En ajoutant la ligne suivante à la méthode du contrôleur, ils ont pu définir explicitement le type de contenu de la réponse :
<code class="java">@RequestMapping(value = "ajax/gethelp") @ResponseBody(produces = "text/plain; charset=UTF-8") public String handleGetHelp(Locale loc, String code, HttpServletResponse response) { // ... }</code>
Cette configuration permet à la méthode du contrôleur de renvoyer une réponse en texte brut avec un encodage UTF-8. , comme prévu.
Notes supplémentaires
Pour les utilisateurs utilisant Spring 3.1 et versions ultérieures, l'annotation @ResponseBody fournit une approche plus simple pour définir le type de contenu de la réponse par rapport à en utilisant une stratégie de conversion personnalisée.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!