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

若依配置knife4j

若依配置knife4j (swagger 增强版)

若依前后端分离使用的是swagger3版本的接口文档组件,生成的接口文档不仅需要登录状态,而且 Swagger UI 默认的界面确实不太理想:

Swagger UI

1.配置knife4j

admin模块的xml

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

替换掉

<dependency><groupId>io.springfox</groupId><artifactId>springfox-boot-starter</artifactId><version>3.0.0</version>
</dependency>

在总模块下的xml中直接添加 knif4j 就可以了,不需要去除原来的 swagger3。

<!-- knife4j(swagger3增强版) -->
<dependency><groupId>com.github.xiaoymin</groupId><artifactId>knife4j-spring-boot-starter</artifactId><version>${knife4j.version}</version>
</dependency><!-- Swagger3依赖 -->
<dependency><groupId>io.springfox</groupId><artifactId>springfox-boot-starter</artifactId><version>${swagger.version}</version><exclusions><exclusion><groupId>io.swagger</groupId><artifactId>swagger-models</artifactId></exclusion></exclusions>
</dependency>

application.yml

# Knife4j配置
knife4j:# 是否开启Knife4j(swagger 增强版)enable: true# 开启屏蔽文档资源production: false

此时可以通过 ip+port+/doc.html,直接访问文档页面

2.常用注解

swagger 常用的注解就这么几个:

@Api(value = “xxx”):用于控制器

@ApiOperation(“xxx”):用于方法

@ApiModel(description = “xxx”):请求模型

@ApiModelProperty(value = “xxx”, required = true):用于用户请求模型属性,equired 是否必须,如果需要验证字段,可以在定义模型前面添加 @Validated,如:@RequestBody @Validated

3.解决跨域

admin模块添加下面这个配置文件,即可

package com.ruoyi.web.core.config;/*** 解决跨域*/
@Configuration
public class CorsConfig {@Beanpublic CorsFilter corsWebFilter() {CorsConfiguration corsConfiguration = new CorsConfiguration();// 允许的请求头corsConfiguration.addAllowedHeader("*");// 允许的请求源corsConfiguration.addAllowedOrigin("*");// 允许的请求方法 ==> GET, HEAD, POST, PUT, PATCH, DELETE, OPTIONS, TRACEcorsConfiguration.addAllowedMethod("*");// URL 映射 (如: /admin/**)UrlBasedCorsConfigurationSource urlBasedCorsConfigurationSource = new UrlBasedCorsConfigurationSource();urlBasedCorsConfigurationSource.registerCorsConfiguration("/**", corsConfiguration);return new CorsFilter(urlBasedCorsConfigurationSource);}
}
http://www.dtcms.com/a/254445.html

相关文章:

  • vue 实现dot-dropdown
  • django调用 paramiko powershell 获取cpu 个数
  • io.net 携手 Walrus,为 AI 和机器学习应用提供去中心化存储与计算能力
  • 网工_STP生成树协议
  • 基于React+Express的个人账单管理系统
  • 在 linux 中实现开机自动启动 Docker 并自动运行特定镜像的容器
  • Netty实战:从核心组件到多协议实现(超详细注释,udp,tcp,websocket,http完整demo)
  • 开源大型语言模型的文本记忆新突破!
  • 腾讯云轻量级服务器Ubuntu系统与可视化界面
  • 人机融合智能 | 人智交互语境下的设计新模态
  • 【C++详解】STL-vector使用底层剖析和实现
  • 解锁身心密码:从“心”拥抱健康生活
  • MOS管和比较器
  • M1芯片macOS安装Xinference部署大模型
  • Android | 签名安全
  • camel-ai Agent模块- CriticAgent
  • OpenCV——直方图与匹配
  • 【Mini-F5265-OB开发板试用测评】2、PWM驱动遥控车RX2接收解码带马达驱动控制IC
  • 啊啊啊啊啊啊啊啊code
  • 《思维力:高效的系统思维》
  • Linux中的阻塞信号与信号原理
  • ULS23 挑战:用于计算机断层扫描中 3D 通用病变分割的基准模型及基准数据集|文献速递-深度学习医疗AI最新文献
  • 【Redis】Sentinel哨兵
  • 【css】设置了margin-top为负数,div被img覆盖的解决方法
  • 基于springboot的宠物服务预约系统
  • craw14ai 框架的入门讲解和实战指南——基于Python的智能爬虫框架,集成AI(如NLP/OCR)实现自动化数据采集与处理
  • 第七届人工智能技术与应用国际学术会议
  • AI时代SEO关键词革新
  • Python Beautiful Soup 4【HTML/XML解析库】 简介
  • MTEB:基于 Embedding 的文本分类评估与实战解析