Solución al problema de que los datos json originales devueltos se convierten en xml después de usar WebMvcConfigurationSupport

pregunta

Los datos devueltos al interceptar sin usar WebMvcConfigurationSupport están en formato JSON. Después de interceptar usando WebMvcConfigurationSupport, los datos devueltos pasan a formato XML.
Insertar descripción de la imagen aquí

razón

En el marco de Spring, WebMvcConfigurationSupport es una clase que se puede utilizar para personalizar la configuración de Spring MVC. Si está utilizando WebMvcConfigurationSupport en su aplicación y los datos JSON que se devolvieron anteriormente ahora son XML, es probable que haya realizado algunos cambios en la configuración que provocaron que cambiara el convertidor de mensajes predeterminado.

De forma predeterminada, Spring usa MappingJackson2HttpMessageConverter como conversor de mensajes, que puede convertir objetos Java en datos en formato JSON. Si no especifica explícitamente un convertidor de mensajes al heredar la clase WebMvcConfigurationSupport, puede hacer que Spring use otros convertidores de mensajes predeterminados, como Jaxb2RootElementHttpMessageConverter, que puede convertir objetos Java en datos en formato XML.

Solución

@Configuration
public class CustomWebMvcConfig extends WebMvcConfigurationSupport {
    
    

    @Override
    protected void configureMessageConverters(List<HttpMessageConverter<?>> converters) {
    
    
        converters.add(new MappingJackson2HttpMessageConverter());
        super.configureMessageConverters(converters);
    }
}

Supongo que te gusta

Origin blog.csdn.net/qq_43802454/article/details/132046194
Recomendado
Clasificación