"Si un trabajador quiere hacer bien su trabajo, primero debe afilar sus herramientas." - Confucio, "Las Analectas de Confucio. Lu Linggong"
Página delantera > Programación > ¿Cómo puedo controlar el tipo de contenido de la respuesta con @ResponseBody en Spring MVC?

¿Cómo puedo controlar el tipo de contenido de la respuesta con @ResponseBody en Spring MVC?

Publicado el 2025-03-23
Navegar:580

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

@Atributo ResponseBody: Control de respuesta Content-Type en Spring MVC

En Spring MVC, la anotación @ResponseBody juega un papel crucial en la determinación del tipo de contenido de la respuesta enviada al cliente. Esta anotación es útil al devolver las respuestas personalizadas, como JSON o texto sin formato, de manera flexible.

en su caso, está encontrando un problema en el que la respuesta de su método de controlador se está configurando con una codificación de contenido incorrecta. Esto se debe al comportamiento predeterminado de Spring MVC, que vuelve a la codificación ISO-8859-1 Si no encuentra un convertidor adecuado para el valor devuelto.

para resolver este problema y establecer el tipo de contenido correcto, puede utilizar los atributos de la anotación @ResponseBody. Este atributo le permite especificar los tipos de medios (es decir, tipos de contenido) que su método de controlador puede producir.

para su caso específico, desea que su método de controlador produzca texto plano en la codificación UTF-8. Así es como puede lograr esto:

@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;
}

agregando Produces = "Text/Plain; Charset = UTF-8" a la anotación @ResponseBody, está instruyendo a Spring MVC que establezca explícitamente el tipo de contenido de la respuesta a Text/Plain con un conjunto de caracteres de UTF-8. Esto debe garantizar que la respuesta se codifique correctamente y se muestre correctamente en el lado del cliente.

Tenga en cuenta que la anotación @RequestMapping también es compatible con el atributo Produce, que puede usarse para controlar los tipos de medios que la asignación de solicitud correspondiente puede manejar.

Último tutorial Más>

Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.

Copyright© 2022 湘ICP备2022001581号-3