在Linux系统中使用Swagger进行API调试,可以按照以下步骤进行:
安装Swagger
- 安装docker(如果尚未安装):
sudo apt-get update sudo apt-get install -y docker.io sudo systemctl start docker sudo systemctl enable docker
- 拉取并运行Swagger Editor:
docker pull swaggerapi/swagger-editor:v4.6.0 docker run -d -p 38080:8080 swaggerapi/swagger-editor:v4.6.0
- 拉取并运行Swagger ui:
docker pull swaggerapi/swagger-ui:v4.15.5 docker run -d -p 38081:8080 swaggerapi/swagger-ui:v4.15.5
配置和使用Swagger
- 导入Swagger配置文件:
- 打开Swagger Editor(http://localhost:38080),点击左上角的【File】-【Import File】,选择你的 swagger.json 或 swagger.yaml 文件进行导入。
- 测试API接口:
在spring Boot项目中集成Swagger
- 添加依赖:
在你的spring boot项目的 pom.xml 文件中添加以下依赖:
<<span>dependency></span> <<span>groupId></span>io.springfox</<span>groupId></span> <<span>artifactId></span>springfox-boot-starter</<span>artifactId></span> <<span>version></span>3.0.0</<span>version></span> </<span>dependency></span>
- 定义启动类:
package org.coffeebeans; import lombok.extern.slf4j.Slf4j; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; @SpringBootApplication @Slf4j public class SwaggerApplication { public static void main(String[] args) { SpringApplication.run(SwaggerApplication.class, args); } }
- 配置Swagger:
创建一个Swagger配置类:
package org.coffeebeans.config; 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("org.coffeebeans.controller")) .paths(PathSelectors.any()) .build(); } }
- 使用Swagger注解定义API文档:
在你的Controller类中使用Swagger注解来描述你的API:
package org.coffeebeans.controller; import io.swagger.annotations.*; import org.springframework.web.bind.annotation.*; import java.util.List; @RestController @Api(tags = "用户管理") public class UserController { @GetMapping("/users") @ApiOperation(value = "获取用户列表") public List<User> getUsers( <span>@ApiParam(value = "分页信息", required = false) @RequestParam(value = "page", defaultValue = "1") int page, @ApiParam(value = "每页显示数量", required = false) @RequestParam(value = "size", defaultValue = "10") int size)</span> { // 实现获取用户列表的逻辑 return userService.getUsers(page, size); } @GetMapping("/users/{id}") @ApiOperation(value = "获取用户信息") public User getUser( <span>@PathVariable Long id)</span> { // 实现获取用户信息的逻辑 return userService.getUserById(id); } }
通过以上步骤,你就可以在Linux系统上成功部署和使用Swagger进行API测试了。