上周在与第三方对接接口的时候,由于三方的接口key值均是采用下划线命名的方式,使用传统的JSONObject方式,需要挨个赋值,特别麻烦,而且一点也不面向对象,一点也不极客。
大概实现的效果就是上图这样,三方接口提供的无论是入参还是接参,均是下划线分隔的,接口的需求是驼峰的和下划线分隔的均需要能正常接收,并进行业务逻辑处理,好了,话不多说,上代码!
代码见:
jjn0942/jackson-demo-projectgitee.com
首先导入Pom依赖,Jackson的三个Jar包和FastJson(可不要,就是习惯了用而已):
我们模拟用户注册的场景,提交一系列基本信息,如:
通过接口处理之后生成的数据如下:
那么是如何实现的呢?其实主要就是Jackson Json库的几个注解,来看看吧~
注释里面写的很清楚了,指定了value的值之后,在生成JSON的时候,会按value的值来。
alias的意思是别名,value值指定了之后,可以接受多种可能的赋值。
所以最后我们的用户实体类就会写成这样:
返回实体类:
service接口:
service接口实现:
最后的Controller实现: