当前位置: 首页 > news >正文

Knife4j配置 ▎使用 ▎教程 ▎实例

knife4j简介

  支持 API 自动生成同步的在线文档:使用 Swagger 后可以直接通过代码生成文档,不再需要自己手动编写接口文档了,对程序员来说非常方便,可以节约写文档的时间去学习新技术。

  提供 Web 页面在线测试 API:光有文档还不够,Swagger 生成的文档还支持在线测试.参数和格式都定好了,直接在界面上输入参数对应的值即可在线测试接口

   knife4j 前身是 swagger-bootstrap-ui, 取名 knife4j 是希望它能像一把匕首一样小巧,轻量,并且功能强悍!

knife4j是swagger的升级版

knife4j配置

第一步:导入jar包

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

第二步:配置config文件(knife4j的配置类)

package com.kid.news.config;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.spi.DocumentationType;
import springfox.documentation.spring.web.plugins.Docket;
import springfox.documentation.swagger2.annotations.EnableSwagger2WebMvc;@Configuration
@EnableSwagger2WebMvc
public class Knife4jConfiguration {@Bean(value = "dockerBean")public Docket dockerBean() {//指定使用Swagger2规范Docket docket=new Docket(DocumentationType.SWAGGER_2).apiInfo(new ApiInfoBuilder()//描述字段支持Markdown语法.description("# Knife4j RESTful APIs").termsOfServiceUrl("https://doc.xiaominfo.com/").contact("xiaoymin@foxmail.com").version("1.0").build())//分组名称.groupName("用户服务").select()//这里指定Controller扫描包路径.apis(RequestHandlerSelectors.basePackage("com.kid.news.web")) //扫描地址.paths(PathSelectors.any()).build();return docket;}
}

注:.apis(RequestHandlerSelectors.basePackage("com.kid.news.web")) //为扫描地址,我们需要填写自己的web文件地址

knife2j使用

第一步:在类中添加标签

@Api:用在类上,说明该类的作用,tags类的功能进行描述.

@Api(tags="用户登录控制器")

后端代码样式: 

前端样式:

第二步:在方法上添加标签说明 

@ApiOperation:用在方法上,用于对方法功能说明。

@ApiOperation(value="方法概述")

后端样式: 

前端样式:

第三步:添加方法响应值的标签说明

@ApiImplicitParam:用来注解来给方法入参增加说明

后端样式:

前端样式:

如何参数为模型类,我们可以直接在该模型类中添加解释标签

@ApiModel:描述一个Model的信息(参数为实体类时使用)

@ApiModelProperty:描述一个model的属性

后端样式:

前端样式:

第五步:响应码的注解标签

@ApiResponses:用于表示一组响应

@ApiResponse:用在@ApiResponses中,一般用于表达响应信息

后端样式: 前端样式: 

向后端发出测试请求 



 感谢大家的观看,本次分享就到这里。希望我的内容能够对您有所帮助。创作不易,欢迎大家多多支持,您的每一个点赞都是我持续更新的最大动力!如有不同意见,欢迎在评论区积极讨论,让我们一起学习、共同进步!如果有相关问题,也可以私信我,我会认真查看每一条留言。期待下次再见!

                                       希望路飞的笑容可以治愈努力路途中的你我!

博主vx:Dreamkid05 --->欢迎大家和博主讨论问题 

http://www.lryc.cn/news/473337.html

相关文章:

  • 电子电气架构 --- 车载芯片现状
  • Unity 二次元三渲二
  • echart实现地图数据可视化
  • 网关三问:为什么微服务需要网关?什么是微服务网关?网关怎么选型?
  • Mybatis-plus解决兼容oracle批量插入
  • Kaggle竞赛——灾难推文分类(Disaster Tweets)
  • SC2601音频编解码器可pin to pin兼容ES8311
  • 通用AT指令
  • 二进制狼群算法
  • STL——list的介绍和使用
  • 二百七十六、ClickHouse——Hive和ClickHouse非常不同的DWS指标数据SQL语句
  • Elasticsearch Date类型,时间存储相关说明
  • mathorcup2024台风 我all in ai
  • android 10 后台启动activity
  • 文案创作新思路:Python与文心一言API的完美结合
  • CentOS 7 上安装 MySQL 8.0 教程
  • Chromium HTML5 新的 Input 类型url对应c++
  • java多线程编程(二)一一>线程安全问题, 单例模式, 解决程线程安全问题的措施
  • Leetcode 213. 打家劫舍 II 动态规划
  • 就业市场变革:AI时代,我们将如何评估人才?
  • 富格林:安全操作方式稳健出金
  • 早点包子店点餐的软件下载和点餐操作教程 佳易王餐饮点餐管理系统操作方法
  • uniapp一键打包
  • 什么是ksqlDB?流处理世界里的新范式
  • Vue.js组件开发
  • Oracle视频基础1.1.2练习
  • Hadoop分布式文件系统架构和设计
  • Prompt Engineering (Prompt工程)
  • 第十四课 Vue中的HTML及文本渲染
  • 无人机救援系统简单解读