Swagger2
Swagger2用于解决前后端开发人员之间的api对接,减少与其他团队开发期间的沟通成本。Swagger2可以轻松的整合到Spring boot中,并与SpringMVC程序配合组织处强大的Restful API文档。即可以减少我们创建文档的工作量,同时说明内容整合到实现代码中,让维护文档和修改代码整合为一体,可以让我们在修改代码逻辑的同时方便的修改文档说明。
另外,Swagger2也提供了强大的页面测试功能来调试每个Restful API
添加Swagger2依赖
1 | <dependency> |
创建Swagger2配置类
1 | @Configuration |
如以上代码,通过@Configuration
注解,让Spring来加载该类配置。再通过@EnabledSwagger2
注解来启用Swagger2。
再通过createRestApi
函数创建Docket
的Bean之后,apiInfo()
用来创建该Api的基本信息(这些基本信息会展现在文档页面中)。select()
函数返回一个ApiSelectorBuilder
实例用来控制哪些接口暴露给Swagger来展现,本例采用指定扫描的包路径来定义,Swagger会扫描该包下所有Controller定义的API,并产生文档内容(除了被@ApiIgnore
指定的请求)。
添加文档内容
在完成了上述配置后,其实已经可以生产文档内容,但是这样的文档主要针对请求本身,而描述主要来源于函数等命名产生,对用户并不友好,我们通常需要自己增加一些说明来丰富文档内容。如下所示,我们通过@ApiOperation
注解来给API增加说明、通过@ApiImplicitParams
、@ApiImplicitParam
注解来给参数增加说明。
1 | @RestController |
完成上述代码添加上,启动Spring Boot程序,访问:http://localhost:8080/swagger-ui.html