swagger 是一个 api 文档维护组织,后来成为了 Open API 标准的主要定义者;
对于开发者来说,swagger是帮助后端开发人员在开发/测试环境下生成接口测试页面功能的注解;
大多数项目用的是swagger2标准OpenApi2的规范,最新的规范是swagger3的OpenApi3规范;
提到swagger,那么SpringFox和SpringDoc作为实现swagger规范的佼佼者,自然被广大后端人员大量使用,目前SpringFox已经支持swagger3的注解(swagger2也可使用),而SpringDoc已经进化成仅支持swagger3的注解了。
但是对于国人来说SpringFox和SpringDoc实现的ui界面并没有多友好,用到极致也不过是个懒得写测试用例的框架罢了,前端人员看这个ui界面可以说很抓狂,后端人员也很苦恼,我这swagger都维护好了,怎么前端就看不懂了,怎么项目经理还要我再写个接口文档?
主要原因是:英文烂、ui界面没有区分度、无法生成静态的接口文档
那么国人应该用什么框架来解决这些烦恼呢?knife4j
简单来说,Knife4j是遵循swagger2规范,集成springFox并增强的前后端一体化框架
截一张图展示一下:
本教程使用的注解全部为swagger2的注解,也就是Api开头的注解,比如@ApiOperation("注册")
、@Api(tags = "登陆控制")
,如果已存在的项目用的是swagger3的注解,请继续使用SpringDoc哈。
仅介绍最通用的使用教程,最常用的swagger实现框架,大概就是SpringFox了,而knife4j是包含SpringFox的,需要用knife4j就要更换掉原SpringFox依赖。
1.依赖:
<!--Swagger-->
<!-- <dependency>-->
<!-- <groupId>io.springfox</groupId>-->
<!-- <artifactId>springfox-boot-starter</artifactId>-->
<!-- <version>3.0.0</version>-->
<!-- </dependency>-->
<dependency>
<groupId>com.github.xiaoymin</groupId>
<artifactId>knife4j-spring-boot-starter</artifactId>
<!--在引用时请在maven仓库搜索3.X最新版本号-->
<version>3.0.3</version>
</dependency>
2.通用springboot-swagger2配置文件:
import com.github.xiaoymin.knife4j.spring.extension.OpenApiExtensionResolver;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import springfox.documentation.builders.ApiInfoBuilder;
import springfox.documentation.builders.PathSelectors;
import springfox.documentation.builders.RequestHandlerSelectors;
import springfox.documentation.service.*;
import springfox.documentation.spi.DocumentationType;
import springfox.documentation.spi.service.contexts.
因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- yrrf.cn 版权所有 赣ICP备2024042794号-2
违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务