vdi/nex-be/src/main/java/com/unisinsight/project/config/WebMvcConfig.java

33 lines
1.4 KiB
Java

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<HttpMessageConverter<?>> converters) {
// 找到Jackson消息转换器并配置命名策略
converters.stream()
.filter(converter -> converter instanceof MappingJackson2HttpMessageConverter)
.map(converter -> (MappingJackson2HttpMessageConverter) converter)
.forEach(converter -> {
ObjectMapper objectMapper = converter.getObjectMapper();
objectMapper.setPropertyNamingStrategy(PropertyNamingStrategies.SNAKE_CASE);
});
}
}