博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
springboot jackjson驼峰转下划线
阅读量:6656 次
发布时间:2019-06-25

本文共 2628 字,大约阅读时间需要 8 分钟。

hot3.png

有如下几种方法

1、通过ObjectMapper设置

mapper.setPropertyNamingStrategy(com.fasterxml.jackson.databind.PropertyNamingStrategy.SNAKE_CASE);mapper.setSerializationInclusion(JsonInclude.Include.NON_NULL);

2、通过在application.properties增加如下配置

spring.jackson.property-naming-strategy=CAMEL_CASE_TO_LOWER_CASE_WITH_UNDERSCORES

即可

注意事项,当开启@EnableSwagger2注解时候,会报jackjson异常,查看是swagger使用的api比较旧,不支持

java.lang.NoSuchMethodException: com.fasterxml.jackson.databind.introspect.POJOPropertyBuilder.
(com.fasterxml.jackson.databind.PropertyName, com.fasterxml.jackson.databind.AnnotationIntrospector, boolean) at java.lang.Class.getConstructor0(Class.java:3082) at java.lang.Class.getConstructor(Class.java:1825) at springfox.documentation.schema.property.PojoPropertyBuilderFactory.constructorWithParams(PojoPropertyBuilderFactory.java:105) at springfox.documentation.schema.property.PojoPropertyBuilderFactory.jackson26Instance(PojoPropertyBuilderFactory.java:89) at springfox.documentation.schema.property.PojoPropertyBuilderFactory.create(PojoPropertyBuilderFactory.java:42) at springfox.documentation.schema.property.BeanPropertyDefinitions.getName(BeanPropertyDefinitions.java:69) at springfox.documentation.schema.property.BeanPropertyDefinitions.access$000(BeanPropertyDefinitions.java:28) at springfox.documentation.schema.property.BeanPropertyDefinitions$2.apply(BeanPropertyDefinitions.java:58) at springfox.documentation.schema.property.BeanPropertyDefinitions$2.apply(BeanPropertyDefinitions.java:55) at com.google.common.base.Present.transform(Present.java:77) at springfox.documentation.schema.property.ObjectMapperBeanPropertyNamingStrategy.nameForSerialization(ObjectMapperBeanPropertyNamingStrategy.java:56) at springfox.documentation.schema.property.BeanPropertyDefinitions.name(BeanPropertyDefinitions.java:46) at springfox.documentation.schema.property.OptimizedModelPropertiesProvider.beanModelProperty(OptimizedModelPropertiesProvider.java:281) at springfox.documentation.schema.property.OptimizedModelPropertiesProvider.access$200(OptimizedModelPropertiesProvider.java:79) at springfox.documentation.schema.property.OptimizedModelPropertiesProvider$2.apply(OptimizedModelPropertiesProvider.java:163) at springfox.documentation.schema.property.OptimizedModelPropertiesProvider$2.apply(OptimizedModelPropertiesProvider.java:155)

类似问题:https://groups.google.com/forum/#!msg/swagger-swaggersocket/AUvwW1a03mQ/ezSxddEZAgAJ

3、采用在实体增加注解实现

//实现驼峰转下划线@JsonNaming(PropertyNamingStrategy.SnakeCaseStrategy.class)public class BaseResultVO {}

实体继承该类即可。如此不用每个类的字段都注明@jsonproperty注解

参考资料:

转载于:https://my.oschina.net/u/732798/blog/2878378

你可能感兴趣的文章
三步搞定Vmware固定虚拟机的IP
查看>>
UGUI不规则图片点击事件处理
查看>>
ubuntu -nginx
查看>>
第二次SCRUM冲刺
查看>>
DAX/PowerBI系列 - 玩转阿里云 Alicloud Pricing
查看>>
[Selenium] The commonly used operation of element
查看>>
数学 Codeforces Round #219 (Div. 2) B. Making Sequences is Fun
查看>>
2. ZooKeeper的ZAB协议。
查看>>
Hibernate Validation与Spring整合各注解的用法Demo
查看>>
myeclipse debug 工具栏不见了
查看>>
程序员成熟的标志
查看>>
How Google Backs Up The Internet Along With Exabytes Of Other Data
查看>>
js----预解析,作用域链
查看>>
leetcode 264. Ugly Number II
查看>>
如何创建Hiren的BootCD USB磁盘 -- 制作U盘启动盘
查看>>
lubuntu自动登录(lxde)
查看>>
Python--day39--管道和数据共享(面试可能会问到)
查看>>
第十二章 Python网络编程
查看>>
Caffe错误汇总与解决办法
查看>>
1079. Total Sales of Supply Chain (25)
查看>>