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

Spring Boot 配置 Knife4j

一、引入 maven

<!-- 引入 knife4j 文档-->  
<dependency>  <groupId>com.github.xiaoymin</groupId>  <artifactId>knife4j-openapi2-spring-boot-starter</artifactId>  <version>4.1.0</version>  
</dependency>

二、配置 application.yml

knife4j:  # 开启增强配置  enable: true setting:  # 是否启用 Host    enable-host: true  # 启用 Host 地址  enable-host-text: "http://yunhu.wiki/api"  # 配置账号密码访问文档  basic:  enable: true  username: admin  password: 123456

三、knife4j 配置类

import com.github.xiaoymin.knife4j.spring.extension.OpenApiExtensionResolver;  
import io.swagger.annotations.ApiOperation;  
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.spi.DocumentationType;  
import springfox.documentation.spring.web.plugins.Docket;  
import springfox.documentation.swagger2.annotations.EnableSwagger2WebMvc;  /**  * 配置 Knife4j 接口文档  *  * @author: yunhu  * @date: 2023/7/30  */  
@Configuration  
@EnableSwagger2WebMvc  
public class Knife4jConfiguration {  private final OpenApiExtensionResolver openApiExtensionResolver;  @Autowired  public Knife4jConfiguration(OpenApiExtensionResolver openApiExtensionResolver) {  this.openApiExtensionResolver = openApiExtensionResolver;  }  @Bean(value = "defaultApi2")  public Docket defaultApi2() {  String groupName = "yunhu-library";  Docket docket = new Docket(DocumentationType.SWAGGER_2)  .apiInfo(apiInfo())  .groupName(groupName)  .select()  .apis(RequestHandlerSelectors.withMethodAnnotation(ApiOperation.class)) .paths(PathSelectors.any())  .build()  .extensions(openApiExtensionResolver.buildExtensions(groupName));  return docket;  }  private ApiInfo apiInfo() {  return new ApiInfoBuilder()  .description("# swagger-bootstrap-ui-demo RESTful APIs")  .termsOfServiceUrl("http://www.library.wiki")  .version("1.0")  .build();  }  
}

四、常用 api 注解

@Api(tags = "后台书籍管理模块") // 控制层类的注解,接口的分组名称@ApiOperation("创建书籍") // 控制层类中的方法注解@ApiModel(value = "BookEntity", description = "书籍实体类") // 实体类的注解@ApiModelProperty(value = "书籍 id") // 字段的注解

五、参考资料

  • Knife4j 官方文档
http://www.lryc.cn/news/165116.html

相关文章:

  • Java项目中遇到uv坐标如何转换成经纬度坐标
  • std : : unordered_map 、 std : : unordered_set
  • Python解释器和Pycharm的傻瓜式安装部署
  • 14 Python使用网络
  • AI ChatGPT 各大开放平台一览 大模型 Prompt
  • 全球汽车安全气囊芯片总体规模分析
  • USB适配器应用芯片 国产GP232RL软硬件兼容替代FT232RL DPU02直接替代CP2102
  • 卫星物联网生态建设全面加速,如何抓住机遇?
  • SAP GUI 8.0 SMARTFORMS 使用SCR LEGACY TEXT EDITOR GUI8.00 禁用MSWORD
  • 【SpringMVC】JSR303与拦截器的使用
  • Qt案例-编译阿里云OSS对象存储C++ SDK源码,并进行简单下载,上传数据,显示进度等相关功能
  • JAVA异常输出到控制台
  • html5学习笔记23-vue 简略学习,未完
  • 【Fiddler】mac m1 机器上使用 fiddler 抓取接口
  • Swift如何使用Vision来识别获取图片中的文字(OCR),通过SwiftUI视图和终端命令行,以及一系列注意事项
  • c++ 学习 之 常函数 和 常对象
  • LLM - 批量加载 dataset 并合并
  • Debian 初始化命令备忘
  • 二维矩阵的DFS算法框架
  • pytest实现日志按用例输出到指定文件中
  • 程序员面试逻辑题
  • 自动创建设备节点udev机制实现
  • 目标检测YOLO实战应用案例100讲-基于小样本学习和空间约束的濒危动物目标检测
  • 苹果数据恢复软件:Omni Recover Mac
  • 树回归CART
  • zemax色差与消色差
  • 成绩定级脚本(Python)
  • 骨传导耳机的危害有哪些?会损害听力吗?
  • Redis模块二:缓存分类 + Redis模块三:常见缓存(应用)
  • Revit SDK 内容摘要: 8.0 -8.1