Spring Boot——统一设置返回Json数据风格(Java驼峰命名法转下划线命名法)解决方案
基本概念
HttpMessageConverter:
org.springframework.http.converter.HttpMessageConverter 是一個策略接口
接口說明如下:
Strategy interface that specifies a converter that can convert from and to HTTP requests and responses.
簡單說就是 HTTP request (請求)和response (響應)的轉換器。
API
public class MappingJackson2HttpMessageConverter
extends AbstractJackson2HttpMessageConverter
Implementation of?HttpMessageConverter?that can read and write JSON using?Jackson 2.x's?ObjectMapper.
This converter can be used to bind to typed beans, or untyped?HashMap?instances.
By default, this converter supports?application/json?and?application/*+json?with?UTF-8?character set. This can be overridden by setting the?supportedMediaTypes?property.
The default constructor uses the default configuration provided by?Jackson2ObjectMapperBuilder.
Compatible with Jackson 2.9 and higher, as of Spring 5.0.
解決方案?
@Configuration @EnableWebMvc public class WebMvcConfig extends WebMvcConfigurationSupport {/*** 統一輸出風格* See {@link com.fasterxml.jackson.databind.PropertyNamingStrategy.SnakeCaseStrategy} for details.* @param converters*/@Overridepublic void extendMessageConverters(List<HttpMessageConverter<?>> converters) {for (int i = 0; i < converters.size(); i++) {if (converters.get(i) instanceof MappingJackson2HttpMessageConverter) {ObjectMapper objectMapper = new ObjectMapper();// 統一返回數據的輸出風格objectMapper.setPropertyNamingStrategy(new PropertyNamingStrategy.SnakeCaseStrategy());objectMapper.setSerializationInclusion(JsonInclude.Include.NON_NULL);objectMapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);objectMapper.setTimeZone(TimeZone.getTimeZone("GMT+8"));MappingJackson2HttpMessageConverter converter = new MappingJackson2HttpMessageConverter();converter.setObjectMapper(objectMapper);converters.set(i, converter);break;}}} }運行結果
參考文章
https://blog.csdn.net/limenghua9112/article/details/84976621
https://www.jianshu.com/p/3e1de3d02dd8
總結
以上是生活随笔為你收集整理的Spring Boot——统一设置返回Json数据风格(Java驼峰命名法转下划线命名法)解决方案的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: C#——继承[模拟Server类]初始化
- 下一篇: Mybatis Plus——[Could