swagger怎么看接口数量_给Swagger换了个新皮肤,瞬间高大上了!

Swagger作为一款API文档生成工具,虽然功能已经很完善了,但是还是有些不足的地方。偶然发现knife4j弥补了这些不足,赋予了Swagger更多的功能,今天我们来讲下它的使用方法。

knife4j简介

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

快速开始

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

  • 在pom.xml中增加knife4j的相关依赖;
  • 在Swagger2Config中增加一个@EnableKnife4j注解,该注解可以开启knife4j的增强功能;
/**
 * Swagger2API文档的配置
 */
  • 运行我们的SpringBoot应用,访问API文档地址即可查看:http://localhost:8088/doc.html
a0c08b8c9229fb40ab2547d8e697213c.png

功能特点

接下来我们对比下Swagger,看看使用knife4j和它有啥不同之处!

JSON功能增强

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

  • 返回结果集支持折叠,方便查看;
a3c3cdb0d58602e928be2c5b854f65f7.png
  • 请求参数有JSON校验功能。
31e0334028eb1adaa81020928b3a5e97.png

登录认证

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

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

离线文档

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

  • 直接选择文档管理->离线文档功能,然后选择下载Markdown即可;
041c16bf0fb674ac2ba9ed0701c58673.png
  • 我们来查看下导出的Markdown离线文档,还是很详细的。
fc01fd56d8b8d8520316ab6af5d5f545.png

全局参数

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

  • 比如我们想要在所有请求头中加入一个参数appType来区分是android还是ios调用,可以在全局参数中添加;
aeeca88c98d19881ba068c4f9586b14b.png
  • 此时再调用接口时,就会包含appType这个请求头了。
be5e218e4aa6c0a5e665b1caedde949d.png

忽略参数属性

有时候我们创建和修改的接口会使用同一个对象作为请求参数,但是我们创建的时候并不需要id,而修改的时候会需要id,此时我们可以忽略id这个属性。

  • 比如这里的创建商品接口,id、商品数量、商品评论数量都可以让后台接口生成无需传递,可以使用knife4j提供的@ApiOperationSupport注解来忽略这些属性;
/**
 * 品牌管理Controller
 * Created by macro on 2019/4/19.
 */
  • 此时查看接口文档时,发现这三个属性已经消失,这样前端开发查看接口文档时就不会觉得你定义无用参数了,是不很很好的功能!
dc721d47d68714fb5dc0779922bc2d4b.png

参考资料

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

项目源码地址

https://github.com/macrozheng/mall-learning/tree/master/mall-tiny-knife4j

推荐阅读

  • 过来人聊聊经历,为什么不要再学JSP了!
  • SpringBoot 2.3.0 新特性一览,快来跟我实践一波!
  • 给Swagger升级了新版本,没想到居然有这么多坑!
  • fastjson到底做错了什么?为什么会被频繁爆出漏洞?
  • 微服务权限终极解决方案,Spring Cloud Gateway + Oauth2 实现统一认证和鉴权!
  • 听说你的JWT库用起来特别扭,推荐这款贼好用的!
  • 线上项目出BUG没法调试?推荐这款阿里开源的诊断神器!
  • 性能优越的轻量级日志收集工具,微软、亚马逊都在用!
  • 一个不容错过的Spring Cloud实战项目!
  • 我的Github开源项目,从0到20000 Star!

1d0a7ec892dda984dc6fe9ba05bf5cc6.png

欢迎关注,点个在看

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值