"Si un ouvrier veut bien faire son travail, il doit d'abord affûter ses outils." - Confucius, "Les Entretiens de Confucius. Lu Linggong"
Page de garde > La programmation > Comment puis-je contrôler le type de contenu de la réponse avec @ResponseBody dans Spring MVC?

Comment puis-je contrôler le type de contenu de la réponse avec @ResponseBody dans Spring MVC?

Publié le 2025-03-23
Parcourir:492

How can I control the content type of the response with @ResponseBody in Spring MVC?

@ réponse attribut: Contrôle de la réponse-type de contenu dans Spring MVC

Dans Spring MVC, l'annotation @ResponseBody joue un rôle crucial dans la détermination du type de contenu de la réponse renvoyée au client. Cette annotation est utile lors du retour des réponses personnalisées, telles que JSON ou du texte brut, de manière flexible.

Dans votre cas, vous rencontrez un problème où la réponse de votre méthode de contrôleur est définie avec une encodage de contenu incorrect. Cela est dû au comportement par défaut de Spring MVC, qui retombe à l'encodage ISO-8859-1 s'il ne trouve pas de convertisseur approprié pour la valeur renvoyée.

pour résoudre ce problème et définir le type de contenu correct, vous pouvez utiliser l'attribut produit de l'annotation @ResponseBody. Cet attribut vous permet de spécifier les types de supports (c'est-à-dire des types de contenu) que votre méthode de contrôleur peut produire.

Pour votre cas spécifique, vous souhaitez que votre méthode de contrôleur produise du texte brut dans le codage UTF-8. Voici comment vous pouvez y parvenir:

@RequestMapping(value = "ajax/gethelp")
@ResponseBody
public String handleGetHelp(Locale loc, String code) {
    log.debug("Getting help for code: "   code);
    String help = messageSource.getMessage(code, null, loc);
    log.debug("Help is: "   help);
    return help;
}

En ajoutant products = "text / plain; charset = utf-8" à l'annotation @ResponseBody, vous demandez à Spring MVC de définir explicitement le type de contenu de la réponse à Text / Plain avec un jeu de caractères de UTF-8. Cela devrait garantir que la réponse est codée correctement et affichée correctement du côté client.

noter que l'annotation @RequestMapping prend également en charge l'attribut produit, qui peut être utilisé pour contrôler les types de supports que le mappage de demande correspondant peut gérer.

Dernier tutoriel Plus>

Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.

Copyright© 2022 湘ICP备2022001581号-3