package com.unisinsight.project.config; import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.databind.PropertyNamingStrategies; import org.springframework.context.annotation.Configuration; import org.springframework.http.converter.HttpMessageConverter; import org.springframework.http.converter.json.MappingJackson2HttpMessageConverter; import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry; import org.springframework.web.servlet.config.annotation.WebMvcConfigurer; import java.util.List; @Configuration public class WebMvcConfig implements WebMvcConfigurer { public void addResourceHandlers(ResourceHandlerRegistry registry) { WebMvcConfigurer.super.addResourceHandlers(registry); registry.addResourceHandler("/api/vdi/file/down/**").addResourceLocations("file:/var/lib/vdi/test/"); } @Override public void extendMessageConverters(List> converters) { // 找到Jackson消息转换器并配置命名策略 converters.stream() .filter(converter -> converter instanceof MappingJackson2HttpMessageConverter) .map(converter -> (MappingJackson2HttpMessageConverter) converter) .forEach(converter -> { ObjectMapper objectMapper = converter.getObjectMapper(); objectMapper.setPropertyNamingStrategy(PropertyNamingStrategies.SNAKE_CASE); }); } }