knife4j介绍

knife4j是为Java MVC框架集成Swagger生成Api文档的增强解决方案。

其他的详情请看官方文档: knife4j官方文档

首先创建一个spring boot 项目,然后加入knife4j 依赖。

pom.xml

 <dependency><groupId>com.github.xiaoymin</groupId><artifactId>knife4j-spring-boot-starter</artifactId><version>2.0.7</version></dependency>

完整的依赖:

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>2.3.10.RELEASE</version><relativePath/> <!-- lookup parent from repository --></parent><groupId>com.example</groupId><artifactId>spring-boot-knife4j-integrate</artifactId><version>0.0.1-SNAPSHOT</version><name>spring-boot-knife4j-integrate</name><description>Demo project for Spring Boot</description><properties><java.version>1.8</java.version></properties><dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-devtools</artifactId><scope>runtime</scope><optional>true</optional></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><dependency><groupId>com.github.xiaoymin</groupId><artifactId>knife4j-spring-boot-starter</artifactId><version>2.0.7</version></dependency><dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId><version>1.18.20</version><scope>provided</scope></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId><scope>test</scope><exclusions><exclusion><groupId>org.junit.vintage</groupId><artifactId>junit-vintage-engine</artifactId></exclusion></exclusions></dependency></dependencies><build><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId></plugin></plugins></build></project>

代码配置:

Knife4jConfiguration 类中,加入knife4j的基本配置属性
完整代码如下:

@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("http://www.xx.com/").contact("1796789910@qq.com").version("1.0").build())//分组名称.groupName("2.X版本").select()//这里指定Controller扫描包路径.apis(RequestHandlerSelectors.basePackage("com.example.springbootknife4jintegrate.controller")).paths(PathSelectors.any()).build();return docket;}
}

然后编写一个控制层来做测试:

@Api(tags = "首页模块")
@RestController
public class IndexController {@ApiImplicitParam(name = "name",value = "姓名",required = true)@ApiOperation(value = "例子")@ApiOperationSupport(author = "1796789910@qq.com")@GetMapping("/sayHi")public ResponseEntity<String> sayHi(@RequestParam(value = "name")String name){return ResponseEntity.ok("Hi:"+name);}
}

启动项目访问knife4j的接口文档页面:http://localhost:8080/doc.html

出现如下界面说明集成成功了。

增强特性:

这里主要是knife4j在Swagger基础之上做的一个增强模式,更多的大家请看官方文档,这里我主要

讲讲访问控制权限,如果我们在springboot开发中,在生产环境中我们的doc.html不能对外暴露,

或者说,测试环境需要增加用户名和密码的校验等,

spring:profiles:active: dev //区分对应的环境

测试环境:

knife4j:enable: true# 测试环境 开启Swagger的Basic认证功能,默认是falsebasic:enable: true# Basic认证用户名username: admin# Basic认证密码password: admin

生产环境直接不对外访问:

knife4j:enable: true# 开启生产环境屏蔽 无法访问接口 /doc.htmlproduction: true

其他好玩的,请自行读文档,调试开发,实例代码在github上面需要的请自行拉取:spring-boot-integrate
然后后续会集成更多的模块进去,需要请点个star。

SpringBoot集成knife4j接口文档相关推荐

  1. springboot集成Swagger2接口文档

    <!-- Swagger 接口文档 --><dependency><groupId>io.springfox</groupId><artifact ...

  2. 【SpringBoot】22、SpringBoot中整合knife4j接口文档

    在项目开发中,web项目的前后端分离开发,APP开发,需要由前后端工程师共同定义接口,编写接口文档,之后大家都根据这个接口文档进行开发,到项目结束前都要一直维护 接口文档使得项目开发过程中前后端工程师 ...

  3. springboot项目集成java接口文档生成工具knife4j

    knifie knife4j是为Java MVC框架集成Swagger生成Api文档的增强解决方案,前身是swagger-bootstrap-ui,取名kni4j是希望她能像一把匕首一样小巧,轻量,并 ...

  4. SpringBoot 配置 generator代码生成+knife4j接口文档(2种模板设置、逻辑删除、字段填充 含代码粘贴可用)保姆级教程(注意事项+建表SQL+代码生成类封装+测试类)

    保姆级教程,逻辑删除及字段自动填充设置,特别要说明的是本次用的是MySQL数据库,如果使用Oracle数据库是,数据库配置需要改变,数据库表一定要大写,否则无法生成代码. 数据库表 CREATE TA ...

  5. SpringBoot 如何生成接口文档,老鸟们都这么玩的!

    为什么要用Swagger ? " 作为一名程序员,我们最讨厌两件事:1. 别人不写注释.2. 自己写注释. 而作为一名接口开发者,我们同样讨厌两件事:1. 别人不写接口文档,文档不及时更新. ...

  6. knife4j接口文档

    knife4j是为Java MVC框架集成Swagger生成Api文档的增强解决方案,前身是swagger-bootstrap-ui,取名knife4j是希望它能像一把匕首一样小巧,轻量,并且功能强悍 ...

  7. idea swagger生成接口文档_spring boot集成Swagger-UI接口文档

    本文介绍如何用spring boot集成Swagger-UI,实现项目在线接口文档 一.Swagger-UI简介 Swagger是一个Restful风格接口的文档在线自动生成和测试的框架 官网对Swa ...

  8. Spring Boot 1.5.10项目引入knife4j接口文档

    介绍 knife4j是一个在线接口文档项目,对swaggger2进行增强,页面更加美观,功能更加强大 背景 在前后端分离的趋势下,团队一直没有接口文档规范,联调接口全凭一个个接口去代码里扒,后端同事忙 ...

  9. 访问swagger/Knife4j 接口文档报错:java.lang.NumberFormatException: For input string: ““

    目录 问题描述 解决过程 问题描述 报异常如下:java.lang.NumberFormatException: For input string: "" 虽然不影响使用,但是每次 ...

最新文章

  1. 初试linux编译(ubuntu+vim)+玩转智能蛇
  2. Linux虚拟内存,你理解到位了?
  3. 深入浅出Java垃圾回收机制
  4. Spark和Hadoop,孰优孰劣?
  5. (转)Javascript 面向对象编程(一):封装
  6. 动态添加JavaScript
  7. NgRx Store createSelector 返回的 selector 执行取数逻辑的单步调试
  8. location的hash部分和使用window.onhashchange实现ajax请求内容时使用浏览器后退和前进功能...
  9. C++Event机制的简单实现
  10. python 取模是什么意思_编程语言中,取余和取模的区别到底是什么?
  11. 技术说明的注释有点用,其他的完全是捣乱
  12. 信息安全习题(含答案)
  13. Tomcat内存溢出及配置解决方案
  14. 新颖的自我介绍_有创意的自我介绍10篇
  15. 浅谈CTP期货行情交易API
  16. 【蓝桥杯集训100题】scratch辨别质数合数 蓝桥杯scratch比赛专项预测编程题 集训模拟练习题第15题
  17. 快播将关闭QVOD服务器 清理低俗内容与涉盗版内容
  18. python画史迪仔_手把手教你如何使用Python来生成马赛克画!
  19. 基于python实现在线听音乐(QQ音乐)
  20. 使用Excel和Matlab批量修改图片名称

热门文章

  1. aardio - 属性表
  2. Docker上传镜像到阿里云或私服仓库
  3. HTML5期末大作业:魔域私服网站设计——魔域私服游戏(1页) HTML+CSS+JavaScript 学生DW网页设计作业成品 html实训大作业
  4. linux 打开网页 用curl_Linux终端访问网页
  5. Model Inspector — 软件模型静态规范检查工具
  6. 游戏装备锻造(打铁)
  7. 本地连接一会连接一会断开怎么回事?
  8. 基于SSM框架开发的员工考勤管理系统
  9. 超图三维管线常见问题
  10. Redis API String