在Linux系统中使用Swagger进行API调试,可以按照以下步骤进行:
sudo 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.0
docker run -d -p 38080:8080 swaggerapi/swagger-editor:v4.6.0
docker pull swaggerapi/swagger-ui:v4.15.5
docker run -d -p 38081:8080 swaggerapi/swagger-ui:v4.15.5
swagger.json
或 swagger.yaml
文件进行导入。在你的Spring Boot项目的 pom.xml
文件中添加以下依赖:
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-boot-starter</artifactId>
<version>3.0.0</version>
</dependency>
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配置类:
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();
}
}
在你的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(
@ApiParam(value = "分页信息", required = false)
@RequestParam(value = "page", defaultValue = "1") int page,
@ApiParam(value = "每页显示数量", required = false)
@RequestParam(value = "size", defaultValue = "10") int size) {
// 实现获取用户列表的逻辑
return userService.getUsers(page, size);
}
@GetMapping("/users/{id}")
@ApiOperation(value = "获取用户信息")
public User getUser(
@PathVariable Long id) {
// 实现获取用户信息的逻辑
return userService.getUserById(id);
}
}
通过以上步骤,你就可以在Linux系统上成功部署和使用Swagger进行API测试了。