Bug:扩展了消息转换器过后springboot默认的静态资源访问路径就无法使用
原因:因为继承了WebMvcConfigurationSupport导致springboot默认的静态资源访问路径就无法使用
解决方案:在mvc的配置类中添加静态资源映射
@Configuration
@Slf4j
public class WebMvcConfig extends WebMvcConfigurationSupport{
@Override
protectedvoidaddResourceHandlers(ResourceHandlerRegistryregistry){
log.info("开始进行静态资源映射...");
registry.addResourceHandler("/backend/**").addResourceLocations("classpath:/static/backend/");
registry.addResourceHandler("/front/**").addResourceLocations("classpath:/static/front/");
}
/**
*扩展mvc框架的消息转换器
*@paramconverters
*/
@Override
protectedvoidextendMessageConverters(List<HttpMessageConverter<?>>converters){
log.info("扩展消息转换器...");
//创建消息转换器对象
MappingJackson2HttpMessageConvertermessageConverter=newMappingJackson2HttpMessageConverter();
//设置对象转换器,底层使用Jackson将Java对象转为json
messageConverter.setObjectMapper(newJacksonObjectMapper());
//将上面的消息转换器对象追加到mvc框架的转换器集合中
converters.add(0,messageConverter);
}
}
博客讲述了在扩展SpringBoot的消息转换器后,导致默认的静态资源访问路径失效的问题。原因是自定义配置类继承了WebMvcConfigurationSupport。解决方案是在配置类中添加静态资源映射,修复了访问路径,并且展示了如何扩展消息转换器,包括创建MappingJackson2HttpMessageConverter并设置对象转换器。

被折叠的 条评论
为什么被折叠?



