因为前端一般会返回带有下划线的数据,而java的命名规范一般是以驼峰的形式,所以这就造成了用javabean来接收或者返回json格式的数据时会有命名方式的冲突,所以我们常常需要对格式进行转换或者是兼容

实现的方式有几种

1.java里面也使用下下划线的方式接收和响应,但是不推荐这样,因为虽然满足了接口需求,但是不符合java里面的命名规范;

2.java里面使用驼峰,接收到参数后手动转换,这样做太麻烦.

3.java里面使用驼峰,自己写一个工具方法,或者通过优秀的第三方工具来帮助我们进行统一转换

具体可以参考这位大大的博客,里面写的很详细
https://www.cnblogs.com/newAndHui/p/14767675.html

文中讲到我们可以在类上添加@JsonNaming注解的方式来使我们的javabean类的驼峰字段在返回时转换为下划线的方式,这样就满足了我们转换的需求,而且这个是jackson中自带的注解,所以当我们使用springboot进行开发时使用起来很方便

@JsonNaming(PropertyNamingStrategy.SnakeCaseStrategy.class)

但是文中提到我们接收参数时需要自定义注解,当然在我们定义完成之后这也不失为一种好方法,但是我总觉得还是有些太麻烦,于是我就想,既然 @JsonNaming 能够在返回值时进行转换,那么在接收值时就不能也转换为下划线再和参数进行匹配吗,于是经过试验后我发现这种做法是可行的,人家果然也是帮我们封装好了,也就是说我们如果要实现javabean接收和转换带下划线的参数时,通通只需要使用这个注解即可

但是我本身实力也不是很强,所以也没办法指出这样做的好坏,是否会很消耗性能啊之类的,网上很多也只是对这个注解进行了介绍,并没有提到这种使用场景下的一些优劣之处的对比,但是既然人家能被spring看上并整合,应该问题也不大,我们作为搬砖的只管用就好

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐