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

25.1 Knife4j-Swagger的增强插件

1.Knife4j概述

        Knife4j是一款基于Swagger UI的增强插件,它可以为Spring Boot项目生成美观且易于使用的API文档界面。它是Swagger UI的增强版,提供了更多的功能和定制选项,使API文档更加易读和易于理解。

2.Knife4j使用

Knife4j · 集Swagger2及OpenAPI3为一体的增强解决方案. | Knife4jhttps://doc.xiaominfo.com/

2.1 导入依赖

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

2.2 配置配置类

import lombok.extern.slf4j.Slf4j;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurationSupport;
import springfox.documentation.builders.ApiInfoBuilder;
import springfox.documentation.builders.PathSelectors;
import springfox.documentation.builders.RequestHandlerSelectors;
import springfox.documentation.service.ApiInfo;
import springfox.documentation.spi.DocumentationType;
import springfox.documentation.spring.web.plugins.Docket;/*** 配置类*/
@Configuration
@Slf4j
public class WebMvcConfiguration extends WebMvcConfigurationSupport {/*** 通过knife4j生成接口文档*/@Beanpublic Docket docket() {ApiInfo apiInfo = new ApiInfoBuilder().title("外卖项目接口文档").version("2.0").description("外卖项目接口文档").build();Docket docket = new Docket(DocumentationType.SWAGGER_2).apiInfo(apiInfo).select().apis(RequestHandlerSelectors.basePackage("com.sky.controller")).paths(PathSelectors.any()).build();return docket;}/*** 设置静态资源映射*/protected void addResourceHandlers(ResourceHandlerRegistry registry) {log.debug("开始设置静态资源映射");registry.addResourceHandler("/doc.html").addResourceLocations("classpath:/META-INF/resources/");registry.addResourceHandler("/webjars/**").addResourceLocations("classpath:/META-INF/resources/webjars/");}
}

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

相关文章:

  • 用flask run代替flask run --debug
  • python_day14_综合案例
  • 【算法题】2779. 数组的最大美丽值
  • 文件上传之PHP
  • 人脸检测实战-insightface
  • Linux工具【1】(编辑器vim、编译器gcc与g++)
  • 基于Java+SpringBoot+vue前后端分离古典舞在线交流平台设计实现
  • MQ - 闲聊MQ一二事儿 (Kafka、RocketMQ 、Pulsar )
  • Qt中的 QIODevice类(包含:随机访问、顺序访问设备)
  • 【JavaScript 07】函数声明 地位平等 函数提升 属性方法 作用域 参数 arguments对象 闭包 IIFE立即调用函数表达式 eval命令
  • MyBatis源码分析_ResultSetHandler(7)
  • Unittest加载执行用例的方法总结
  • 使用预训练的2D扩散模型改进3D成像
  • 微服务测试是什么?
  • 《现代C++教程》笔记(5-7)
  • 红黑树深入剖析【C++】
  • 教育机构视频播放时观看行为分析有哪些应用?
  • Jmeter+验证json结果是否正确小技巧
  • Spring 6.0官方文档示例(22): singleton类型的bean和prototype类型的bean协同工作的方法(一)
  • Android平台GB28181设备接入侧如何同时对外输出RTSP流?
  • el-Cascader 中div上绑定keyDown事件
  • elementUI 表格滚动分页加载请求数据
  • JAVA面试总结-Redis篇章(五)——持久化
  • 【数据结构】·顺序表函数实现·赶紧学起来呀
  • C++,类和对象-多态,制作饮品
  • 网站分析:学习如何分析目标网站的页面结构和URL规律,确定爬取目标和策略。
  • 《向量数据库指南》:向量数据库Pinecone如何集成数据湖
  • Vue3中使用pinia
  • Mysql中(@i:=@i+1)的介绍
  • Nexperia和KYOCERA AVX Components Salzburg 就车规氮化镓功率模块达成合作