Knife4j的前身是swagger-bootstrap-ui,前身swagger-bootstrap-ui是一个纯swagger-ui的ui皮肤项目。项目正式更名为knife4j,取名knife4j是希望她能像一把匕首一样小巧,轻量,并且功能强悍,更名也是希望把她做成一个为Swagger接口文档服务的通用性解决方案,不仅仅只是专注于前端Ui前端。

官网文档地址:https://xiaoym.gitee.io/knife4j/

knife4j版本:3.0.3

SpringBoot版本:2.5.6

目录

一、初始化SpringBoot项目

二、引入依赖pom

三、Knife4jConfig配置类

四、编写测试接口

五、预览在线接口


一、初始化SpringBoot项目

二、引入依赖pom

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

三、Knife4jConfig配置类

package com.csdn.config;import com.github.xiaoymin.knife4j.spring.annotations.EnableKnife4j;
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.ApiInfo;
import springfox.documentation.service.Contact;
import springfox.documentation.spi.DocumentationType;
import springfox.documentation.spring.web.plugins.Docket;
import springfox.documentation.swagger2.annotations.EnableSwagger2;@Configuration
@EnableSwagger2
@EnableKnife4j
public class Knife4jConfig {@Beanpublic Docket createRestApi() {return new Docket(DocumentationType.OAS_30).useDefaultResponseMessages(false).apiInfo(apiInfo()).select().apis(RequestHandlerSelectors.basePackage("com.csdn.controller")).paths(PathSelectors.any()).build();}private ApiInfo apiInfo() {return new ApiInfoBuilder().description("knife4j在线API接口文档").contact(new Contact("Roc-xb", "https://yang-roc.blog.csdn.net/", "aida_pc@qq.com")).version("v3.0.0").title("knife4j在线API接口文档").build();}
}

四、编写测试接口

package com.csdn.controller;import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.web.bind.annotation.*;@Api(tags = "api接口测试")
@RestController
@RequestMapping("/api")
public class ApiController {@ApiOperation(value = "查询所有用户")@GetMapping("/users")public String list() {return "1";}@ApiOperation(value = "添加用户")@PostMapping("/users")public String add() {return "2";}@ApiOperation(value = "编辑用户")@PutMapping("/users")public String update() {return "3";}@ApiOperation(value = "删除用户")@DeleteMapping("/users")public String delete() {return "4";}
}

五、预览在线接口

http://localhost:8080/doc.html#/home

SpringBoot实战教程(2)| 整合knife4j3.0.3相关推荐

  1. 视频教程-SpringBoot实战教程:SpringBoot入门及前后端分离项目开发-Java

    SpringBoot实战教程:SpringBoot入门及前后端分离项目开发 十三,CSDN达人课课程作者,CSDN 博客作者,现就职于某网络科技公司任职高级 Java 开发工程师,13blog.sit ...

  2. springboot springmvc mybatis_深圳嘉华学校之springboot实战教程

    Springboot实战教程 目录 第一章 springBoot概述... 2 href="https://zhuanlan.zhihu.com/write#_Toc508178432&qu ...

  3. SpringBoot实战教程(1)| 整合Swagger3.0.0

    本文教你如何在SpringBoot中整合Swagger,快速实现在线接口文档. Swagger版本:3.0.0 SpringBoot版本:2.5.6 目录 一.初始化SpringBoot项目 二.引入 ...

  4. SpringBoot实战教程(6)| 整合Druid

    Apache Druid是一个实时分析型数据库,旨在对大型数据集进行快速的查询分析("OLAP"查询).Druid最常被当做数据库来用以支持实时摄取.高性能查询和高稳定运行的应用场 ...

  5. SpringBoot实战教程(4)| 整合Mybatis

    ​MyBatis 本是apache的一个开源项目iBatis, 2010年这个项目由apache software foundation 迁移到了google code,并且改名为MyBatis .2 ...

  6. SpringBoot实战教程(7)| 整合JPA

    JPA是Java Persistence API的简称,中文名Java持久层API,是JDK 5.0注解或XML描述对象-关系表的映射关系,并将运行期的实体对象持久化到数据库中. 目录 一.初始化sp ...

  7. SpringBoot实战教程(8)| 整合mybatis-plus

    MyBatis-Plus (opens new window)(简称 MP)是一个 MyBatis (opens new window)的增强工具,在 MyBatis 的基础上只做增强不做改变,为简化 ...

  8. SpringBoot实战教程(5)| 整合Freemaker

    FreeMarker是一款模板引擎: 即一种基于模板和要改变的数据, 并用来生成输出文本(HTML网页.电子邮件.配置文件.源代码等)的通用工具. 它不是面向最终用户的,而是一个Java类库,是一款程 ...

  9. SpringBoot实战教程(3)| 整合Thymeleaf

    Thymeleaf 是一个跟 Velocity.FreeMarker 类似的模板引擎,它可以完全代替传统JSP . 官方文档: Documentation - Thymeleaf 目录 一.初始化Sp ...

最新文章

  1. 约束rmq_差分约束
  2. java高性能阻塞队列,Linux c/c   后台开发组建之:高性能阻塞队列
  3. Oracle学习笔记:通过种子数据库设置dbid为指定值
  4. JDK8 Stream 操作
  5. php break foreach_PHP foreach()跳出本次或当前循环与终止循环方法
  6. HDU 5763 Another Meaning KMP+DP
  7. php websocket ipv6,原生socket支持ipv6
  8. 【学术杂谈】博士毕业都去哪儿了,谈谈学术的这条路该如何走
  9. 如何使用Magoshare Data Recovery在mac上恢复找回删除的丢失文件?
  10. 【OpenCV学习笔记】【函数学习】十一(读入图像﹑显示图像和保存图像)
  11. sqlite3 判断数据库和表的状态
  12. 新浪、腾讯微博开放平台非标准oauth解析
  13. QCC3007-button篇 使用ADK Configuration Tool配置按键
  14. 计算机中的根源证书是什么,安全证书过期怎么办
  15. 今天发布《看图玩儿》看图软件
  16. 电脑文件误删除如何恢复?
  17. BEVDet: High-Performance Multi-Camera 3D Object Detection in Bird-Eye-View
  18. 什么是Bugzilla?
  19. Java Web 实现文件多线程分片下载方案
  20. Kubernetes 固定 Pod IP 地址方法

热门文章

  1. cocos creator基础-(十三)cc.Loader使用
  2. Exception异常处理
  3. linux下.so、.ko、.a的区别
  4. 卸载loadrunner
  5. 在装有Anaconda的情况下,使用默认的python程序方法
  6. Nokia Lumia(WP7.5) 新手入门的摸索
  7. 页面在360浏览器下的兼容性问题解决
  8. 【报告分享】中国智慧金融行业洞察及2021年发展趋势研究报告.pdf(附下载链接)...
  9. 专访头条搜索:从推荐到搜索,如何构建搜索技术的另一种可能?
  10. DeepSDF : Learning Continuous Signed Distance Functions for Shape Representation