Sping Boot返回Json格式自定义

转载请注明http://www.cnblogs.com/majianming/p/8491020.html

在写项目过程中,遇到了需要定义返回的json字段格式的问题

例如在实体属性中,我有一个字段是userName,那么需要在json中出现的样子是user_name,即采用下划线命名法

那么可以采用@JsonProperty这个注解自定义@JsonProperty("user_name")

但是如果我全部的属性都要这样采用下划线命名法,那我一个个加?

其实只要定义jackson的属性命名策略就可以了 在配置文件中添加

(yml格式)

spring:

  jackson:

    property-naming-strategy: SNAKE_CASE

(propreties格式)

spring.jackson.property-naming-strategy=SNAKE_CASE

就可以了

全部策略有

策略 例子 备注
LOWER_CAMEL_CASE userName 默认策略
KEBAB_CASE user-name  
LOWER_CASE username  
SNAKE_CASE user_name  
UPPER_CAMEL_CASE UserName  

到这里好像没什么问题了,但是我要是只有一个实体的属性名需要映射成上面的情况之一,

但是属性名称有很多,懒得一个个加呢?

其实也有方法,只要在需要的实体上添加@JsonNaming(PropertyNamingStrategy.SnakeCaseStrategy.class)这样的注解就可以了

这里可以使用的策略也和上面的表格中的一致

以上


参考

  1. http://www.baeldung.com/jackson-advanced-annotations

  2. https://stackoverflow.com/a/40730352

转载请注明http://www.cnblogs.com/majianming/p/8491020.html

原文地址:https://www.cnblogs.com/majianming/p/8491020.html