Ubuntu 上使用 Swagger 测试 API 的实用方法
一 准备与安装
sudo apt update && sudo apt install -y nodejs npmnode -v、npm -vsudo apt-get update && sudo apt-get install -y docker.io && sudo systemctl start docker && sudo systemctl enable docker二 三种快速部署方式
docker pull swaggerapi/swagger-editor:v4.6.0docker run -d -p 38080:8080 swaggerapi/swagger-editor:v4.6.0docker pull swaggerapi/swagger-ui:v4.15.5docker run -d -p 38081:8080 swaggerapi/swagger-ui:v4.15.5mkdir swagger-demo && cd swagger-demo && npm init -ynpm install express swagger-ui-express yamljsconst express = require('express');
const swaggerUi = require('swagger-ui-express');
const YAML = require('yamljs');
const swaggerDocument = YAML.load('./swagger.yaml'); // 你的规范文件
const app = express();
app.use('/api-docs', swaggerUi.serve, swaggerUi.setup(swaggerDocument));
const PORT = process.env.PORT || 3000;
app.listen(PORT, () => console.log(`Server at http://localhost:${PORT}/api-docs`));
node app.js,访问:http://localhost:3000/api-docs三 在 Swagger UI 中执行测试
四 常见问题与处理
五 进阶 在 Spring Boot 项目中集成并测试
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger2</artifactId>
<version>2.7.0</version>
</dependency>
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger-ui</artifactId>
<version>2.7.0</version>
</dependency>
@Configuration
@EnableSwagger2
public class SwaggerConfig {
@Bean
public Docket webApiConfig() {
return new Docket(DocumentationType.SWAGGER_2)
.groupName("webApi")
.apiInfo(apiInfo())
.select()
.paths(Predicates.not(PathSelectors.regex("/admin/.*")))
.paths(Predicates.not(PathSelectors.regex("/error.*")))
.build();
}
private ApiInfo apiInfo() {
return new ApiInfoBuilder()
.title("示例 API 文档")
.description("接口定义与测试")
.version("1.0")
.build();
}
}