Maison  >  Article  >  Java  >  Comment garantir un encodage correct du type de contenu dans les réponses Spring MVC @ResponseBody ?

Comment garantir un encodage correct du type de contenu dans les réponses Spring MVC @ResponseBody ?

Patricia Arquette
Patricia Arquetteoriginal
2024-10-27 20:19:01288parcourir

How to Ensure Proper Content-Type Encoding in Spring MVC @ResponseBody Responses?

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn