开发好物推荐9之自动生成在线接口+文档-Knife4j

前言
现在大多数项目是前后端分离的项目 , 交互靠接口文档 。 然而这项繁琐的工作要交给后端开发者来写 , 本来后端工作就不少 , 这无疑增加了后端开发的工作量 。 幸好有swagger , 但是我们知道
swagger支持在线文档很友好 , 但是离线文档还需额外的引入Jar , 对于追求简单的程序员 , 有没有一个集swagger功能与一身 , 并且支持生成各种格式:doc , HTML , PDF的工具?在这种强烈的发声下 , Knife4j应运而生 。
Knife4j 简介
Knife4j 是一个 SwaggerUI 的增强工具 , 同时也提供了一些增强功能 , 使用 Java+Vue 进行开发 , 帮助开发者能在编写接口注释时更加完善 , 基于 OpenAPI 的规范完全重写 UI 界面 。
推荐理由

  • 开源免费(不开源 , 不推荐)
  • 集成更简单 , 只需要引入一个jar包
  • 界面美观 , 符合国人习惯 。
  • 支持在线测试和能生成离线文档
springboot实践
  • 引入pom
com.github.xiaoyminknife4j-spring-boot-starter2.0.4
  • 开启Swagger的增强注解
import org.springframework.context.annotation.Bean;import org.springframework.context.annotation.Configuration;import com.github.xiaoymin.knife4j.spring.annotations.EnableKnife4j;import io.swagger.annotations.ApiOperation;import springfox.documentation.builders.RequestHandlerSelectors;import springfox.documentation.spi.DocumentationType;import springfox.documentation.spring.web.plugins.Docket;import springfox.documentation.swagger2.annotations.EnableSwagger2;@EnableKnife4j@Configuration@EnableSwagger2public class Swagger2Config {@Beanpublic Docket swaggerSpringMvcPlugin() {return new Docket(DocumentationType.SWAGGER_2).select().apis(RequestHandlerSelectors.withMethodAnnotation(ApiOperation.class)).build();}}启动访问
地址:http://localhost:8000/doc.html
开发好物推荐9之自动生成在线接口+文档-Knife4j文章插图
对应的controller
开发好物推荐9之自动生成在线接口+文档-Knife4j文章插图
指定或者忽略参数配置
开发好物推荐9之自动生成在线接口+文档-Knife4j文章插图
开发好物推荐9之自动生成在线接口+文档-Knife4j文章插图
生产使用
生产环境不能将我们的接口暴露给别人 , 此时需要有权限控制
屏蔽接口访问: 需在application.properties或者application.yml配置文件中配置
knife4j.production=true
开发好物推荐9之自动生成在线接口+文档-Knife4j文章插图
授权访问: 增加用户名和密码的配置
## 开启Swagger的Basic认证功能,默认是falseknife4j.basic.enable=true## Basic认证用户名knife4j.basic.username=test## Basic认证密码knife4j.basic.password=123
开发好物推荐9之自动生成在线接口+文档-Knife4j文章插图
【开发好物推荐9之自动生成在线接口+文档-Knife4j】下载离线文档
开发好物推荐9之自动生成在线接口+文档-Knife4j文章插图