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
版权声明:
作者:Joe.Ye
链接:https://www.appblog.cn/index.php/2023/03/11/spring-boot-return-json-format-customization/
来源:APP全栈技术分享
文章版权归作者所有,未经允许请勿转载。
共有 0 条评论