这把小刀怎么用——详解Knife4j框架

目录

介绍

使用步骤

        1.在maven中添加依赖

        2.添加其配置类,可以放在项目其他框架的配置类包中

        3.application.properties中添加配置


介绍

        Knife4j是为Java MVC框架集成Swagger生成在线Api文档的增强解决方案,其前身是swagger-bootstrap-ui,此框架还有调试功能,可以向服务器端发送请求,并获取响应结果。简单的说就是帮我们自动生成了文档注解,而且可以直接在图形化界面中向服务器发起请求,便于调试。
 

使用步骤

        1.在maven中添加依赖
 

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

        2.添加其配置类,可以放在项目其他框架的配置类包中
 

import com.github.xiaoymin.knife4j.spring.extension.OpenApiExtensionResolver;
import lombok.extern.slf4j.Slf4j;
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.ApiInfo;
import springfox.documentation.service.Contact;
import springfox.documentation.spi.DocumentationType;
import springfox.documentation.spring.web.plugins.Docket;
import springfox.documentation.swagger2.annotations.EnableSwagger2WebMvc;
/*** Knife4j配置类** @author lee* @version 0.0.1*/
@Slf4j
@Configuration
@EnableSwagger2WebMvc
public class Knife4jConfiguration {/*** 【重要】指定Controller包路径*/private String basePackage = "com.lee.test.product.controller";/*** 分组名称*/private String groupName = "product";/*** 主机名*/private String host = "http://lee.com";/*** 标题*/private String title = "演示在线API文档--商品管理";/*** 简介*/private String description = "演示在线API文档--商品管理";/*** 服务条款URL*/private String termsOfServiceUrl = "http://www.apache.org/licenses/LICENSE-2.0";/*** 联系人*/private String contactName = "lee-coding";/*** 联系网址*/private String contactUrl = "lee-coding.blog.csdn.net";/*** 联系邮箱*/private String contactEmail = "lee@xx.mail";/*** 版本号*/private String version = "1.0.0";@Autowiredprivate OpenApiExtensionResolver openApiExtensionResolver;public Knife4jConfiguration() {log.debug("加载配置类:Knife4jConfiguration");}@Beanpublic Docket docket() {String groupName = "1.0.0";Docket docket = new Docket(DocumentationType.SWAGGER_2).host(host).apiInfo(apiInfo()).groupName(groupName).select().apis(RequestHandlerSelectors.basePackage(basePackage)).paths(PathSelectors.any()).build().extensions(openApiExtensionResolver.buildExtensions(groupName));return docket;}private ApiInfo apiInfo() {return new ApiInfoBuilder().title(title).description(description).termsOfServiceUrl(termsOfServiceUrl).contact(new Contact(contactName, contactUrl, contactEmail)).version(version).build();}}

以上内容可以选择复制粘贴。

        3.application.properties中添加配置
 

#..
knife4j.enable=true

注意:

当前项目的Spring Boot版本是2.5.9,必须是2.6以下的版本(2.6不可用)如果要使用更高版本的Spring Boot,必须使用更高版本的Knife4j

在配置类中的basePackage必须是控制器类所在的包

完成后,启动项目,通过 /doc.html 即可访问在线API文档。界面效果:

 这时我们看到的就是knife4j提供给我们的界面,左边这一列会列出所有的controller,以及里面的所有处理请求的方法,现在我们加入一个ProductController 控制器类:
 

@Slf4j
@RestController
@RequestMapping("/products")
public class ProductController {public ProductController(){log.debug("创建商品控制器");}@RequestMapping("/add-new")public String addNew(){return "添加成功";}
}

然后再次运行启动类,刷新页面看到如下效果

 

 我们可以看到在接口统计信息中已经多出了7个接口相关信息,并在左侧图中多出了我们所创建的ProductController。虽然我们只有一个处理请求的方法,但由于我们没有定义具体的请求方式,所以框架帮我们列出了所有的请求方式。因为是添加产品业务,所以我们改为Post请求,另外框架还为我们提供了很丰富的注解,例如:@Api,可以在控制器类上面添加并设置tags属性    @ApiOperation,可以在控制器类中处理请求的对应方法上面添加,并配置value属性,代码如下:

这时我们再看前端展示页面: 
 

 类名和方法名都改为了中文,而且请求方式也发生了改变。我们点击处理添加请求的方法:

可以看到里面有详细的请求参数,相应类型等等,由于我们的方法中未定义任何参数和业务逻辑,所以显示为空,现在我们为addNew这个方法传入一个ProductAddNewDTO数据传输对象,并在这个类中定义几个变量。如下代码:
 

@Slf4j
@Api(tags = "商品管理模块")
@RestController
@RequestMapping("/products")
public class ProductController {public ProductController(){log.debug("创建商品控制器");}@ApiOperation(value = "添加产品")@PostMapping("/add-new")public String addNew(ProductAddNewDTO productAddNewDTO){return "添加成功";}
}

 

@Data
@Accessors(chain = true)
public class ProductAddNewDTO {private String name;private String description;private Integer id;
}

添加成功后,我们再去前端页面就会看到参数列表 ,以及对应的信息和属性:

 点击调试,还可以直接向服务器发送请求,获取响应信息:

以上就是简单的使用介绍。当然其中还有很多实用的注解,以及功能特效。这里就不一一赘述,大家感兴趣可以自己研究一下 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/22212.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Emlog插件小刀娱乐网同款文章顶踩源码

介绍&#xff1a; Emlog小刀娱乐网同款顶踩插件免费发布 前些天看到小刀娱乐网的文章页面有了一些变化&#xff0c;那就是增加了一个有价值/无价值的顶踩按钮。 样式也是非常的好看 再加上两个表情包是非常的有趣。 网盘下载地址&#xff1a; http://kekewl.org/HGAmnmx7pAC0…

一把小刀,直插 class 文件的小心脏

大家好&#xff0c;我是二哥呀&#xff0c;假期结束了&#xff0c;学起来吧&#xff01; 今天我拿了一把小刀&#xff0c;准备解剖一下 Java 的 class 文件。 CS 的世界里流行着这么一句话&#xff0c;“计算机科学领域的任何问题都可以通过增加一个中间层来解决”。对于 Jav…

emlog仿小刀模板

简介&#xff1a; 此模板是模仿小刀的模板&#xff0c;修改首页左广告图下内容&#xff0c;比之前更实用。修复无法搜索以及标签问题。删除文章页千篇一律的免责声明。添加右侧投稿和top悬浮标&#xff0c;可以和之前的top共存。友链中的部分链接可以在module.php修改。最近更…

高仿小刀娱乐网系统源码+积分功能+前台投稿

简介&#xff1a; 前台带会员投稿审核&#xff0c;收藏等功能&#xff0c;后台有插件&#xff0c;可扩展支持支付等&#xff0c;功能齐全。 用(极致CMS)套的模板&#xff0c;免费商用的CMS&#xff0c;可以自定义二开功能&#xff0c;附带积分功能&#xff01; 安装教程&#…

Android——教你10分钟手敲 Butter Knife(小刀注解)

教你10分钟手敲 Butter Knife(小刀注解) 在用 AndroidStudio 集成 Butter Knife(小刀注解)的时候感觉像极了J2EE的Spring IOC容器 自己研究了一下&#xff0c;我来分享一下&#xff0c;小编会&#xff1a;多注释&#xff0c;多贴码&#xff0c;尽量降低同学们的学习时间成本&am…

最新织梦程序精仿小刀娱乐网资源网主题模板源码

介绍&#xff1a; 当初花了300块买的一套源码&#xff0c;跟小刀同款一模一样&#xff0c;仿的大鹏资源网 网盘下载地址&#xff1a; https://zijiewangpan.com/NfH3vcZyxvf 图片&#xff1a;

小刀娱乐网源码2020版

简介&#xff1a; 小刀娱乐网源码是aspaccess/mssql架构网站系统&#xff0c;电脑版&#xff0c;手机版&#xff0c;平板版无缝切换&#xff0c;一个后台同步管理&#xff0c;整站生成静态利于搜索收录&#xff0c;dreamweaver打开可视化修改。 专为制作“小刀娱乐网、QQ教程…

最新精仿小刀娱乐资源网模板源码,带前台会员投稿审核功能

介绍&#xff1a; 安装方法一&#xff1a; 1、将根目录文件上传服务器 2、将根目录1x6d.sql导入mysql数据库 3、环境需要支持PHP5.6&#xff08;推荐PHP7.2&#xff09;&#xff0c;mysql5.0 4、配置数据库Conf/config.php 填写数据库账户密码 5、删除根目录安装文件install …

新版仿小刀资源网模板—木鱼cms

介绍&#xff1a; 仿小刀资源网模板新鲜出炉&#xff0c;使用的是muyucms 仿小刀资源网页面 1比1还原 这套模板使用了全新的轻量cms系统 木鱼cms 网盘下载地址&#xff1a; http://kekewl.net/38Bsc80j7460 图片&#xff1a;

晗枫emlog仿小刀网修复版模板

介绍&#xff1a; 晗枫开源的emlog仿小刀HFdao模板&#xff0c;测试之后和小刀网的没什么差别&#xff0c;EMLOG用户的福利模板&#xff0c;全开源免费发布。 JS各大搜索引擎自动提交收录&#xff01; 最后如果自己二开请留个版权作者开发不易&#xff0c;不做伸手党&#xff…

php小刀娱乐网源码,PHP精仿小刀娱乐网资源下载站网站整站源码

【温馨提示】源码包解压密码&#xff1a;www.youhutong.com 资源描述 PHP精仿小刀娱乐网资源下载站网站整站源码 源码介绍&#xff1a; 网友花了300多元买的源码。 该源码使用dedecms系统去仿小刀娱乐网资源下载站一套源码模板&#xff0c;安装简单。非常适合做资源素材站用。 …

emlog程序仿小刀娱乐网模板最终版本分享

介绍&#xff1a; 上个版本本次修复广告横幅只显示大图的问题&#xff0c;修复文字广告在手机不显示文章置顶广告移除热门&#xff0c; 现在不在热门显示了修复免责一类&#xff0c;关于这些&#xff0c;不再是看文章那种了左侧大图轮播去掉&#xff0c;不在显示箭头&#xff…

Emlog程序小刀娱乐网同款顶踩插件

介绍&#xff1a; 插件适用于EMLOG&#xff0c;插件仿的小刀娱乐网插件。 没个样式也非常好看加上两个表情包 很有趣&#xff0c;就插件已经适用Emlog系统了&#xff0c;效果还不错&#xff01; 将压缩包里的digg文件上传到你emlog的插件目录下即可 然后在echo_log.php文章页的…

emlog高仿小刀新版本模板

介绍&#xff1a; 此模板是模仿小刀的模板&#xff0c;修改首页左广告图下内容&#xff0c;比之前更实用。 修复无法搜索以及标签问题。 删除文章页千篇一律的免责声明。 添加右侧投稿和top悬浮标&#xff0c;可以和之前的top共存。 友链中的部分链接可以在module.php修改。 最…

最新emlog程序仿小刀模板源码

介绍&#xff1a; 此模板是模仿小刀的模板&#xff0c;修改首页左广告图下内容&#xff0c;比之前更实用。 修复无法搜索以及标签问题。 删除文章页千篇一律的免责声明。 添加右侧投稿和top悬浮标&#xff0c;可以和之前的top共存。 友链中的部分链接可以在module.php修改。 最…

EMLOG插件采集小刀模板

介绍&#xff1a; 插件目前支持采集&#xff0c;只需输入网站文章地址&#xff0c;然后绑定你自己网站的分类ID就行了。 网盘下载地址&#xff1a; http://kekewangLuo.net/uP8ixoLc0k4 图片&#xff1a;

象棋里的小刀剜心

象棋里的小刀剜心&#xff0c;也叫"小鬼拍门"&#xff0c;指得是&#xff0c;用兵吃到对方的士&#xff0c;然后用其他子力击杀将(帅)的方法。这种杀法需要提前计算好攻击的方向、子力的运输步骤等。下面介绍其典型案例。 1、"顿挫"小刀剜心 1.1 残局图 …

欧洲地图

1、欧洲地图 2、欧洲地形图

chatgpt赋能python:Python调色板:一篇全面介绍

Python调色板&#xff1a;一篇全面介绍 如果您正在寻找一个有效的编程语言&#xff0c;那么Python很可能就是您需要的。Python是一种高级编程语言&#xff0c;它已经成为最流行的编程语言之一&#xff0c;尤其是在数据分析、科学计算、云计算和机器学习方面。而今天我们要介绍…