springboot3整和swagger
时间: 2023-11-15 14:56:25 浏览: 40
要整合Swagger和Spring Boot,需要进行以下步骤:
1. 在pom.xml文件中添加Swagger依赖:
```
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger2</artifactId>
<version>3.0.0</version>
</dependency>
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger-ui</artifactId>
<version>3.0.0</version>
</dependency>
```
2. 创建Swagger配置类,用于配置Swagger的基本信息和扫描的包路径:
```
@Configuration
@EnableSwagger2
public class SwaggerConfig {
@Bean
public Docket api() {
return new Docket(DocumentationType.SWAGGER_2)
.select()
.apis(RequestHandlerSelectors.basePackage("com.example.demo.controller"))
.paths(PathSelectors.any())
.build()
.apiInfo(apiInfo());
}
private ApiInfo apiInfo() {
return new ApiInfoBuilder()
.title("Spring Boot REST API")
.description("Spring Boot REST API for Online Store")
.version("1.0.0")
.build();
}
}
```
3. 在Controller类中添加Swagger注解,用于描述接口信息:
```
@RestController
@RequestMapping("/api")
@Api(value = "onlineStore", description = "Operations pertaining to products in Online Store")
public class ProductController {
@Autowired
private ProductService productService;
@ApiOperation(value = "View a list of available products", response = List.class)
@GetMapping("/products")
public List<Product> getAllProducts() {
return productService.getAllProducts();
}
@ApiOperation(value = "Get a product by Id")
@GetMapping("/products/{id}")
public Product getProductById(@PathVariable(value = "id") Long productId) {
return productService.getProductById(productId);
}
@ApiOperation(value = "Add a product")
@PostMapping("/products")
public Product addProduct(@RequestBody Product product) {
return productService.addProduct(product);
}
@ApiOperation(value = "Update a product")
@PutMapping("/products/{id}")
public Product updateProduct(@PathVariable(value = "id") Long productId, @RequestBody Product productDetails) {
return productService.updateProduct(productId, productDetails);
}
@ApiOperation(value = "Delete a product")
@DeleteMapping("/products/{id}")
public ResponseEntity<?> deleteProduct(@PathVariable(value = "id") Long productId) {
productService.deleteProduct(productId);
return ResponseEntity.ok().build();
}
}
```
4. 启动Spring Boot应用程序,访问http://localhost:8080/swagger-ui.html,即可查看Swagger UI界面。