1. 概念
驼峰式参数:{"peopleName": "张三"}
下划线式参数:{"people_name": "张三"}
2. 背景介绍
后端是java服务,使用springboot框架。
原本前后端sonar的规范都要求接口参数是驼峰形式,两端可以直接无压力对接。
但是我们所有的接口都是统一记录到一个接口平台的,这个平台要求使用下划线的格式,不按照规范的话会影响绩效。
所以只能按照下面的方式设计接口
3. 后端实现
假设后端接口入参是:people_name="张三",出参是{"people_name":"张三","people_sex":"男"}
我们实际项目中用了3.2.2介绍的方式将入参转驼峰;使用了3.3介绍的方式将出参转下划线。
3.1. 指定每一个参数具体的参数值
3.1.1. @ReuqestParam指定入参是下划线
接收入参时,接口指定了入参为下划线,下面代码关键是“@ReuqestParam”所以没什么好讲的。
|
3.1.2. @JsonProperty指定出入参是下划线
如果参数是对象形式的,可以使用这个
|
这个指定每一个参数具体值的方式不太好,因为你需要给每一个参数数据都加上注解。
3.2. 自定义组件实现驼峰下划线互转
具体做法是自定义了一个组件,组件中实现驼峰转下划线的功能
3.2.1. 组件自动配置ReqRespAutoConfiguration
自动配置FilterRegistrationBean<RequestParamFilter>实例,功能是请求入参转驼峰
自动配置ResponseCamelcaseToUnderlineAdvice实例,功能是响应出参转下划线
|