swagger提供了一套完整的接口文档解决方案,只需在pom文件中加入swagger相关的包并简单配置一下即可得到一份完整的接口文档,想要更详细规范的信息还可在Controller类中加入类似@ApiOperation注解,诸如这些swagger的基本使用网上有很多教程,这里不在赘述。
本篇主要讲述如何使用SpringBoot实现Swagger接口信息自定义。
场景
接口相关信息如路径、参数等数据可能来自枚举、模板文档、数据库等。
初版解决方案:依据swagger工作原理,实现ApiListingScannerPlugin接口
为了搞清楚各个参数的含义是什么,这里将关键的信息用1、2、3数字替代,对于其他的一些参数的含义,字面意思相信也能理解,实在不能理解可以自行阅读下源码
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import org.springframework.http.HttpMethod;
import org.springframework.http.MediaType;
import org.springframework.stereotype.Component;
import com.fasterxml.classmate.TypeResolver;
import com.google.common.collect.Sets;
import com.xxx.UserDTO;
import springfox.documentation.builders.OperationBuilder;
import springfox.documentation.builders.ParameterBuilder;
import springfox.