在Ubuntu上选择和配置Swagger(现通常称为OpenAPI Generator)的版本,可以按照以下步骤进行:
安装Swagger
使用Snap包管理器
- 更新Snap包列表:
sudo snap refresh
- 安装Swagger UI:
sudo snap install swagger-ui
- 启动Swagger UI:
swagger
这将在默认浏览器中打开Swagger UI界面。
使用npm(Node.js包管理器)
- 安装Node.js和npm(如果尚未安装):
sudo apt update
sudo apt install nodejs npm
- 全局安装Swagger UI:
sudo npm install -g swagger-ui-express
- 创建一个简单的Express应用并集成Swagger UI:
mkdir swagger-demo
cd swagger-demo
npm init -y
npm install express --save
在项目根目录下创建一个名为 index.js 的文件,并添加以下内容:
const express = require('express');
const swaggerUi = require('swagger-ui-express');
const YAML = require('yamljs');
const app = express();
// 读取Swagger文档
const swaggerDocument = YAML.load('./swagger.yaml');
// 使用swagger-ui-express中间件
app.use('/api-docs', swaggerUi.serve, swaggerUi.setup(swaggerDocument));
const PORT = process.env.PORT || 3000;
app.listen(PORT, () => {
console.log(`Server is running on port ${PORT}`);
});
-
创建Swagger文档文件
swagger.yaml并添加你的API文档。 -
启动应用:
node index.js
这将在浏览器中打开Swagger UI界面,地址为 http://localhost:3000/api-docs。
使用Docker
- 安装Docker(如果尚未安装):
sudo apt update
sudo apt install docker.io
- 拉取Swagger UI镜像:
docker pull swaggerapi/swagger-ui-express
- 运行Swagger UI容器:
docker run -p 8080:8080 -e SWAGGER_JSON=/app/swagger.json -v $(pwd):/app swaggerapi/swagger-ui
确保你的 swagger.json 文件位于当前目录中。
配置Swagger
为Spring Boot应用程序配置Swagger
- 添加Swagger依赖:
在你的Spring Boot项目的 pom.xml 文件中添加Swagger相关的依赖。例如:
<dependency>
<groupId>io.springfoxgroupId>
<artifactId>springfox-swagger2artifactId>
<version>2.9.2version>
dependency>
<dependency>
<groupId>io.springfoxgroupId>
<artifactId>springfox-swagger-uiartifactId>
<version>2.9.2version>
dependency>
- 配置Swagger:
创建一个Java类来配置Swagger。例如,创建一个名为 SwaggerConfig.java 的文件:
import springfox.documentation.builders.PathSelectors;
import springfox.documentation.builders.RequestHandlerSelectors;
import springfox.documentation.spi.DocumentationType;
import springfox.documentation.spring.web.plugins.Docket;
import springfox.documentation.swagger2.annotations.EnableSwagger2;
@Configuration
@EnableSwagger2
public class SwaggerConfig {
@Bean
public Docket api() {
return new Docket(DocumentationType.SWAGGER_2)
.select()
.apis(RequestHandlerSelectors.basePackage("com.yourpackage")) // 替换为你的控制器包路径
.paths(PathSelectors.any())
.build();
}
}
- 访问Swagger UI:
启动你的Spring Boot应用程序后,你可以通过浏览器访问Swagger UI界面。默认情况下,你可以通过以下URL访问:http://localhost:8080/swagger-ui.html。
进行版本控制
- 建立API版本管理:
在代码中建立一个 ApiVersions.cs 文件,用来设置版本。例如:
public enum ApiVersions {
V1,
V2,
V3
}
- 配置SwaggerGen:
在 Program.cs 文件中修改相应的内容,添加版本控制。例如:
builder.Services.AddSwaggerGen(options => {
options.SwaggerDoc("v1", new OpenApiInfo { Version = "v1", Title = "API标题", Description = "API描述" });
options.SwaggerDoc("v2", new OpenApiInfo { Version = "v2", Title = "API标题", Description = "API描述" });
options.SwaggerDoc("v3", new OpenApiInfo { Version = "v3", Title = "API标题", Description = "API描述" });
foreach (string version in typeof(ApiVersions).GetEnumNames()) {
options.DocInclusion(version, true);
}
});
- 配置SwaggerUI:
在 Startup.cs 中对 UseSwaggerUI 进行相应修改:
if (app.Environment.IsDevelopment()) {
app.UseSwagger();
app.UseSwaggerUI(c => {
c.SwaggerEndpoint("/swagger/v1/swagger.json", "API版本:v1");
c.SwaggerEndpoint("/swagger/v2/swagger.json", "API版本:v2");
c.SwaggerEndpoint("/swagger/v3/swagger.json", "API版本:v3");
});
}
- 控制器版本控制:
在控制器文件里面添加版本控制特性:
[ApiExplorerSettings(IgnoreApi = false, GroupName = nameof(ApiVersions.V1))]
public class CompanyController : ControllerBase {
// V1版本的控制器代码
}
通过以上步骤,可以在Ubuntu上实现Swagger的版本控制。
以上就是关于“ubuntu swagger版本选择指南”的相关介绍,筋斗云是国内较早的云主机应用的服务商,拥有10余年行业经验,提供丰富的云服务器、租用服务器等相关产品服务。云服务器资源弹性伸缩,主机vCPU、内存性能强悍、超高I/O速度、故障秒级恢复;电子化备案,提交快速,专业团队7×24小时服务支持!
简单好用、高性价比云服务器租用链接:https://www.jindouyun.cn/product/cvm