Debian与Swagger集成的常见场景及具体案例
在Debian系统的Node.js项目中,Swagger主要用于自动生成API文档和提供交互式测试界面,常见工具组合为swagger-ui-express(用于集成UI)和swagger-jsdoc(用于解析代码注释生成文档)。
具体步骤:
apt更新系统并安装Node.js、npm,再用npm安装Swagger工具:sudo apt update && sudo apt install -y nodejs npm
sudo npm install -g swagger-jsdoc swagger-ui-express
swagger.json,定义API基本信息(如标题、版本)和路径(如/api/debian):{
"openapi": "3.0.0",
"info": {"title": "Debian API", "version": "1.0.0"},
"paths": {
"/api/debian": {
"get": {
"summary": "获取Debian软件包列表",
"responses": {"200": {"description": "软件包数组"}}
}
}
}
}
app.js)中,使用swagger-ui-express挂载Swagger UI,指定文档路径: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界面,包含定义的API路径和测试功能。在Debian系统的Spring Boot项目中,Swagger主要用于简化Java API文档生成和支持前后端分离开发,常用依赖为springfox-swagger2(核心功能)和springfox-swagger-ui(UI界面)。
具体步骤:
apt安装Java(JDK 11+)、Maven和Git:sudo apt update && sudo apt install -y openjdk-11-jdk maven git
start.spring.io)生成项目,选择Spring Web依赖,下载后解压导入IDE(如IntelliJ IDEA)。pom.xml,添加Swagger依赖:<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>
SwaggerConfig.java),启用Swagger并指定扫描路径(如com.example.demo包):@Configuration
@EnableSwagger2
public class SwaggerConfig {
@Bean
public Docket api() {
return new Docket(DocumentationType.SWAGGER_2)
.select()
.apis(RequestHandlerSelectors.basePackage("com.example.demo"))
.paths(PathSelectors.any())
.build();
}
}
ExampleController.java),使用Swagger注解(如@Api、@ApiOperation)描述API:@RestController
@RequestMapping("/api")
@Api(tags = "示例控制器")
public class ExampleController {
@GetMapping("/hello")
@ApiOperation("返回Hello World")
public String sayHello() {
return "Hello, World!";
}
}
mvn spring-boot:run),访问http://localhost:8080/swagger-ui.html即可查看Swagger UI,包含API路径、参数、返回值及测试按钮。