Knife4j使用详解
简介
knife4j
是为Java MVC框架集成Swagger生成Api文档的增强解决方案,前身是swagger-bootstrap-ui
.
为了契合微服务的架构发展,由于原来swagger-bootstrap-ui采用的是后端Java代码+前端Ui混合打包的方式,在微服务架构下显的很臃肿,因此项目正式更名为knife4j
前后端Java代码以及前端Ui模块进行分离,在微服务架构下使用更加灵活 提供专注于Swagger的增强解决方案,不同于只是改善增强前端Ui部分
模块
knife4j 为Java MVC框架集成Swagger的增强解决方案 knife4j-admin 云端Swagger接口文档注册管理中心,集成gateway网关对任意微服务文档进行组合集成 knife4j-extension chrome浏览器的增强swagger接口文档ui,快速渲染swagger资源 knife4j-service 为swagger服务的一系列接口服务程序 knife4j-front knife4j-spring-ui的纯前端静态版本,用于集成非Java语言使用 swagger-bootstrap-ui knife4j的前身,最后发布版本是1.9.6
主要功能
核心功能
文档说明:根据Swagger的规范说明,详细列出接口文档的说明,包括接口地址、类型、请求示例、请求参数、响应示例、响应参数、响应码等信息,使用swagger-bootstrap-ui能根据该文档说明,对该接口的使用情况一目了然。
在线调试:提供在线接口联调的强大功能,自动解析当前接口参数,同时包含表单验证,调用参数可返回接口响应内容、headers、Curl请求命令实例、响应时间、响应状态码等信息,帮助开发者在线调试,而不必通过其他测试工具测试接口是否正确,简介、强大。
UI优化
个性化配置:通过个性化ui配置项,可自定义UI的相关显示信息
离线文档:根据标准规范,生成的在线markdown离线文档,开发者可以进行拷贝生成markdown接口文档,通过其他第三方markdown转换工具转换成html或pdf,这样也可以放弃swagger2markdown组件
接口排序:自1.8.5后,ui支持了接口排序功能,例如一个注册功能主要包含了多个步骤,可以根据swagger-bootstrap-ui提供的接口排序规则实现接口的排序,step化接口操作,方便其他开发者进行接口对接
快速开始
导入POM.xml
<!--knife4j --> <dependency> <groupId>com.github.xiaoymin</groupId> <artifactId>knife4j-spring-boot-starter</artifactId> <version>2.0.7</version> </dependency>
配置类
可修改SwaggerConfig 即可
@Configuration @EnableSwagger2WebMvc public class Knife4jConfiguration { @Bean(value = "defaultApi2") public Docket defaultApi2() { Docket docket=new Docket(DocumentationType.SWAGGER_2) .apiInfo(new ApiInfoBuilder() //.title("swagger-bootstrap-ui-demo RESTful APIs") .description("# swagger-bootstrap-ui-demo RESTful APIs") .termsOfServiceUrl("https://blog.csdn.net/wenkezhuangyuan") .contact("xx@qq.com") .version("1.0") .build()) //分组名称 .groupName("2.X版本") .select() //这里指定Controller扫描包路径 .apis(RequestHandlerSelectors.basePackage("com.wpc.springbootssm.controller")) .paths(PathSelectors.any()) .build(); return docket; } }
运行
启动Spring Boot工程,在浏览器中访问:http://localhost:8081/springboot/doc.html
(http://localhost:端口号/应用名/doc.html)
通过knife4j优化后的API文档,更加方便管理与阅读。