当前位置: 首页 > 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);}
}

相关文章:

  • 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
  • 《思维力:高效的系统思维》
  • 如何建设网站 企业/如何进行网络推广
  • 吉林省人民政府电话/seo网络推广报价
  • 怎样做网站的优化/泉州百度推广咨询
  • 如何做阿里详情页面链接到外部网站/什么叫软文推广
  • 网页设计毕业论文格式/seo优化推广流程
  • 澳门网站关键词优化/网络整合营销理论案例