Swagger在Linux中的集成流程
在Linux系统中集成Swagger前,需安装以下基础工具:
sudo apt update
sudo apt install openjdk-11-jdk
安装完成后,通过java -version验证安装是否成功。sudo apt install maven安装),并验证版本(mvn -version或gradle -v)。根据项目构建工具,在配置文件中添加Swagger依赖:
<dependencies>
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger2</artifactId>
<version>2.9.2</version>
</dependency>
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger-ui</artifactId>
<version>2.9.2</version>
</dependency>
</dependencies>
dependencies {
implementation 'io.springfox:springfox-swagger2:2.9.2'
implementation 'io.springfox:springfox-swagger-ui:2.9.2'
}
创建Swagger配置类,启用Swagger并定义扫描范围。以下是Spring Boot的典型配置:
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;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
@Configuration
@EnableSwagger2
public class SwaggerConfig {
@Bean
public Docket api() {
return new Docket(DocumentationType.SWAGGER_2)
.select()
.apis(RequestHandlerSelectors.basePackage("com.example.controller")) // 指定Controller包路径
.paths(PathSelectors.any())
.build();
}
}
启动Spring Boot应用(通过mvn spring-boot:run或java -jar your-application.jar),默认情况下,Swagger UI会在http://localhost:8080/swagger-ui.html生成并展示API文档。你可以通过浏览器访问该地址,查看接口列表、参数说明及测试功能。
若不想手动配置环境,可使用Docker容器化部署Swagger Editor和Swagger UI:
sudo apt update
sudo apt install docker.io
sudo systemctl start docker
sudo systemctl enable docker
docker pull swaggerapi/swagger-editor:v4.6.0
docker run -d -p 8080:8080 swaggerapi/swagger-editor:v4.6.0
docker pull swaggerapi/swagger-ui:v4.15.5
docker run -d -p 8081:8080 swaggerapi/swagger-ui:v4.15.5
访问http://your-server-ip:8080(Editor)或http://your-server-ip:8081(UI),即可在线编辑或查看API文档。
Express.js项目集成:若使用Node.js的Express框架,可通过swagger-ui-express和swagger-jsdoc快速集成。安装依赖后,在Express应用中添加中间件:
const express = require('express');
const swaggerUi = require('swagger-ui-express');
const swaggerDocument = require('./swagger.json');
const app = express();
app.use('/api-docs', swaggerUi.serve, swaggerUi.setup(swaggerDocument));
app.listen(3000, () => console.log('Server running on port 3000'));
访问http://localhost:3000/api-docs即可查看Swagger UI。
自动化文档生成:结合CI/CD流程(如Jenkins),在代码提交后自动执行swagger generate spec命令生成swagger.json,并部署到Swagger UI容器中,实现文档实时更新。