Sping Boot返回Json格式自定义

项目中经常遇到需要定义返回的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)这样的注解即可,可使用的策略也和上面的表格中的一致

参考:
http://www.baeldung.com/jackson-advanced-annotations
https://stackoverflow.com/a/40730352

上一篇 Spring Boot HTTP接口GET请求
下一篇 Spring Boot使用RestTemplate发送get请求,获取不到参数的问题
目录
文章列表
1 Nginx中if语句中的判断条件
Nginx中if语句中的判断条件
2
玩转Redis-HyperLogLog统计微博日活月活
玩转Redis-HyperLogLog统计微博日活月活
3
Android NDK基础11:JNI数据类型_C调用Java
Android NDK基础11:JNI数据类型_C调用Java
4
Python Selenium获取断言信息
Python Selenium获取断言信息
5
AWS配置RDS公网访问
AWS配置RDS公网访问
最新评论
一位WordPress评论者
一位WordPress评论者
2月12日
您好,这是一条评论。若需要审核、编辑或删除评论,请访问仪表盘的评论界面。评论者头像来自 Gravatar。