需求描述
在使用Spring MVC定义rest接口的时候,需要对返回值进行统一封装,我们通常会定义code、message、以及一个泛型的data,有时候泛型参数过长,会导致controller 方法返回值很长,我借助Spring的ResponseBodyAdvice来做统一应答拦截,但是,swagger只会读取实际的方法返回类型作为应答。 如何使用swagger来实现类似ResponseBodyAdvice的功能呢?
Spring实现统一返回定义
通用返回状态定义
1  |  | 
通用返回实体定义
1  |  | 
通用返回值拦截定义
1  |  | 
Swagger2插件处理通用返回拦截
maven配置文件
1  |  | 
swagger配置类
1  |  | 
至此就完成了Swagger2的参数配置
Swagger3插件处理通用返回拦截
由于代码基本与swagger2差不多,我就只粘部分差异代码
maven配置文件
1  |  | 
swagger配置类
1  |  | 
测试
接口代码
1  |  | 
测试结果
- get方法 自动添加统一应答包装
 

- put方法 使用默认返回
 
