开发好物推荐9之自动生成在线接口+文档-Knife4j
前言
现在大多数项目是前后端分离的项目 , 交互靠接口文档 。 然而这项繁琐的工作要交给后端开发者来写 , 本来后端工作就不少 , 这无疑增加了后端开发的工作量 。 幸好有swagger , 但是我们知道
swagger支持在线文档很友好 , 但是离线文档还需额外的引入Jar , 对于追求简单的程序员 , 有没有一个集swagger功能与一身 , 并且支持生成各种格式:doc , HTML , PDF的工具?在这种强烈的发声下 , Knife4j应运而生 。
Knife4j 简介
Knife4j 是一个 SwaggerUI 的增强工具 , 同时也提供了一些增强功能 , 使用 Java+Vue 进行开发 , 帮助开发者能在编写接口注释时更加完善 , 基于 OpenAPI 的规范完全重写 UI 界面 。
推荐理由
- 开源免费(不开源 , 不推荐)
- 集成更简单 , 只需要引入一个jar包
- 界面美观 , 符合国人习惯 。
- 支持在线测试和能生成离线文档
- 引入pom
com.github.xiaoymin knife4j-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
文章插图
对应的controller
文章插图
指定或者忽略参数配置
文章插图
文章插图
生产使用
生产环境不能将我们的接口暴露给别人 , 此时需要有权限控制
屏蔽接口访问: 需在application.properties或者application.yml配置文件中配置
knife4j.production=true
文章插图
授权访问: 增加用户名和密码的配置
## 开启Swagger的Basic认证功能,默认是falseknife4j.basic.enable=true## Basic认证用户名knife4j.basic.username=test## Basic认证密码knife4j.basic.password=123
文章插图
【开发好物推荐9之自动生成在线接口+文档-Knife4j】下载离线文档
文章插图
- C语言开发环境
- 能超过英特尔吗?传苹果正开发新MAC芯片,M1试水后广受好评
- 免费小程序制作软件哪个好呢?值得推荐的制作平台
- Go 实战项目推荐:Gin 实现的工单系统
- 一站式App开发平台选择指南
- API监控:你应该衡量什么?
- 重温儿时经典动画大戏,充满趣味的苹果X手机壳推荐
- APP制作开发难不难?有简单快捷又省钱的方法吗?
- 微信小程序开发两万元贵吗?报价透明,按需收费,交付快
- Java核心技术点有哪些 有没有什么书籍推荐