在CentOS上进行Swagger测试前,需根据测试方式安装对应工具:
sudo yum install docker && sudo systemctl start docker);若通过Node.js安装,需安装Node.js和npm(参考搜索结果中centos swagger兼容性测试部分)。sudo yum install java-1.8.0-openjdk-devel)和Maven(sudo yum install maven)。根据项目类型选择以下方式部署Swagger:
Docker快速部署(推荐):
拉取Swagger UI镜像并运行容器,直接访问界面:
docker pull swaggerapi/swagger-ui:v4.15.5 # 拉取最新镜像
docker run -d -p 8080:8080 -e SWAGGER_FILE=/app/swagger.json -v /path/to/your/swagger.json:/app/swagger.json swaggerapi/swagger-ui:v4.15.5 # 挂载本地文档
浏览器访问http://<CentOS-IP>:8080即可查看Swagger UI。
Spring Boot项目集成(自动生成文档):
在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>
创建配置类启用Swagger:
@Configuration
@EnableSwagger2
public class SwaggerConfig {
@Bean
public Docket api() {
return new Docket(DocumentationType.SWAGGER_2)
.select()
.apis(RequestHandlerSelectors.any()) // 扫描所有接口
.paths(PathSelectors.any()) // 匹配所有路径
.build();
}
}
启动项目后,访问http://<CentOS-IP>:8080/swagger-ui.html查看自动生成的文档。
Swagger UI提供了可视化的接口测试功能,步骤如下:
/user/query)。limit、page)。若习惯使用命令行,可通过curl模拟HTTP请求测试接口:
curl "http://<CentOS-IP>:8080/api/users?limit=10&page=1"
curl -X POST "http://<CentOS-IP>:8080/api/user/add" \
-H "Content-Type: application/x-www-form-urlencoded" \
-d "username=test&password=123456"
curl -X POST "http://<CentOS-IP>:8080/api/user/update" \
-H "Content-Type: application/json" \
-d '{"id":1,"name":"New Name","email":"new@example.com"}'
执行后,终端会返回接口的响应结果(如状态码、JSON数据)。为确保接口安全性,可使用以下工具进行扩展测试:
swagger-hacker.py脚本探测接口可用性及潜在漏洞(如未授权访问):python3 swagger-hacker.py -u http://<CentOS-IP>:8080/swagger-ui.html