侧边栏壁纸
  • 累计撰写 98 篇文章
  • 累计创建 20 个标签
  • 累计收到 3 条评论

给Swagger换了个新皮肤

林贤钦
2020-07-21 / 0 评论 / 6 点赞 / 700 阅读 / 0 字
温馨提示:
本文最后更新于 2020-07-21,若内容或图片失效,请留言反馈。部分素材来自网络,若不小心影响到您的利益,请联系我们删除。

给Swagger换了个新皮肤

knife4j简介

knife4j是springfox-swagger的增强UI实现,为Java开发者在使用Swagger的时候,提供了简洁、强大的接口文档体验。knife4j完全遵循了springfox-swagger中的使用方式,并在此基础上做了增强功能,如果你用过Swagger,你就可以无缝切换到knife4j。

官方文档https://doc.xiaominfo.com/guide/

快速开始

接下来我们来介绍下如何在SpringBoot中使用knife4j,仅需两步即可!

  • 在pom.xml中增加knife4j的相关依赖;
<!--整合Knife4j-->
<dependency>
    <groupId>com.github.xiaoymin</groupId>
    <artifactId>knife4j-spring-boot-starter</artifactId>
    <version>2.0.4</version>
</dependency>
  • 在Swagger2Config中增加一个@EnableKnife4j注解,该注解可以开启knife4j的增强功能;
/**
 * Swagger2API文档的配置
 */
@Configuration
@EnableSwagger2
@EnableKnife4j
public class Swagger2Config {...}

功能特点

平时一直使用Swagger,但是Swagger的JSON支持一直不是很好,JSON不能折叠,太长没法看,传JSON格式参数时,没有参数校验功能。这些痛点,在knife4j上都得到了解决。

JSON功能增强

  • 返回结果集支持折叠,方便查看;

  • 请求参数有JSON校验功能。

登录认证

knife4j也支持在头部添加Token,用于登录认证使用。

  • 首先在Authorize功能中添加登录返回的Token;
  • 之后在每个接口中就可以看到已经在请求头中携带了Token信息。

离线文档

knife4j支持导出离线文档,方便发送给别人,支持Markdown格式

  • 直接选择文档管理->离线文档功能,然后选择下载Markdown即可;

全局参数

knife4j支持临时设置全局参数,支持两种类型query(表单)、header(请求头)。

  • 比如我们想要在所有请求头中加入一个参数appType来区分是android还是ios调用,可以在全局参数中添加;

  • 此时再调用接口时,就会包含appType这个请求头了。

6

评论区