ruoyi-vue-plus swagger
时间: 2023-10-22 20:07:26 浏览: 310
ruoyi-vue-plus是一个基于Vue.js和Element UI的后台管理系统框架。swagger是一种API文档生成工具,可以通过前端页面的路径来查看swagger页面。要放行swagger路径,需要在后端的请求拦截器中添加token验证。此外,需要注意在swagger的配置文件(application.yml)中修改请求路径。
相关问题
ruoyi-vue-plus配置swagger
### 关于 RuoYi-Vue-Plus 中 Swagger 配置
在 `RuoYi-Vue-Plus` 项目中集成并配置Swagger可以方便API接口的管理和测试。虽然官方文档可能未详细描述此过程,但基于Spring Boot项目的通用做法以及社区实践,以下是具体实现方法。
#### 修改依赖项
首先,在`pom.xml`文件内加入Swagger所需的相关依赖:
```xml
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-boot-starter</artifactId>
<version>3.0.0</version>
</dependency>
```
这一步骤确保了应用能够识别和加载Swagger组件[^1]。
#### 创建Swagger配置类
接着创建一个新的Java配置类用于定义Swagger的具体参数设置。通常命名为`SwaggerConfig.java`:
```java
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;
@Configuration
public class SwaggerConfig {
@Bean
public Docket createRestApi() {
return new Docket(DocumentationType.OAS_30)
.apiInfo(apiInfo())
.select()
// 指定要生成swagger api的包路径,可以根据自己接口位置修改basePackage中的内容
.apis(RequestHandlerSelectors.basePackage("com.ruoyi"))
.paths(PathSelectors.any())
.build();
}
private ApiInfo apiInfo() {
return new ApiInfoBuilder()
.title("RuoYi-Vue-Plus API Docs")
.description("更多请关注 http://www.example.com")
.termsOfServiceUrl("http://www.example.com")
.contact(new Contact("name", "url", "email"))
.version("1.0")
.build();
}
}
```
这段代码实现了对Swagger的基础配置,包括API基本信息、扫描路径等设定。
#### 启动服务查看效果
完成上述两步之后重启应用程序即可通过访问`http://localhost:port/swagger-ui.html`(其中port为实际端口号)来浏览自动生成的API文档界面。
ruoyi-vue-plus 集成swagger ui
### RuoYi-Vue-Plus 中集成 Swagger UI
对于 `RuoYi-Vue-Plus` 项目而言,由于官方已经决定不再支持Swagger-UI而转向其他解决方案如ApiFox[^2],如果仍然希望在该项目中集成Swagger UI,则需要采取一些额外措施。
#### 方法一:通过自定义配置重新引入Swagger-UI
1. **安装依赖**
需要先添加Swagger-UI的相关依赖。可以通过npm或yarn来完成:
```bash
npm install swagger-ui-dist --save
```
2. **创建Swagger入口文件**
在项目的静态资源目录下新建一个HTML文件作为Swagger访问页面,在该文件内加载swagger-ui库并初始化Swagger实例:
```html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8"/>
<title>Swagger UI</title>
<!-- 引入样式 -->
<link rel="stylesheet" href="/node_modules/swagger-ui-dist/swagger-ui.css"/>
</head>
<body>
<div id="swagger-ui"></div>
<!-- 加载脚本 -->
<script src="/node_modules/swagger-ui-dist/swagger-ui-bundle.js"> </script>
<script>
const ui = SwaggerUIBundle({
url: "http://localhost:8080/api-docs", // API 文档地址
dom_id: '#swagger-ui',
deepLinking: true,
presets: [
SwaggerUIBundle.presets.apis,
SwaggerUIStandalonePreset
],
plugins: [
SwaggerUIBundle.plugins.DownloadUrl
]
})
</script>
</body>
</html>
```
3. **调整后端API文档生成插件设置**
如果之前使用的是knife4j等增强版Swagger组件,可能还需要修改对应的Maven或Gradle构建脚本来确保能够正常生产标准格式的OpenAPI/Swagger JSON/YAML描述文件供前端调用[^1]。
#### 方法二:利用第三方服务托管API文档
考虑到维护成本和技术栈兼容性问题,也可以考虑将API文档迁移到专门的服务平台上去管理,比如上述提到过的ApiFox工具。这种方式不仅可以解决当前版本不自带Swagger的问题,还能获得更好的团队协作体验和服务保障。
阅读全文
相关推荐
















