首頁  >  文章  >  Java  >  springboot如何整合springdoc

springboot如何整合springdoc

百草
百草原創
2024-01-26 17:29:06925瀏覽

springboot整合springdoc的步驟:1、新增依賴;2、設定檔;3、設定Swagger3Config類別;4、建立DTO類別;5、建立API介面和註解;6、啟動應用程式並存取API文檔頁面。詳細介紹:1、新增依賴,在Spring Boot專案的pom.xml檔案中,加入Springdoc的依賴;2、設定文件,在Spring Boot專案等等。

springboot如何整合springdoc

本教學作業系統:windows10系統、DELL G3電腦。

要整合Spring Boot和Springdoc,您可以按照以下步驟進行操作:

1、新增依賴

在您的Spring Boot專案的pom.xml檔中,加入Springdoc的依賴。以下是一個範例:

<dependency>  
    <groupId>org.springdoc</groupId>  
    <artifactId>springdoc-openapi-ui</artifactId>  
    <version>1.5.3</version>  
</dependency>

2、設定檔

在您的Spring Boot專案的application.yml檔案中,新增以下設定:

springdoc:  
  api-docs:  
    enabled: true # 开启文档功能,默认为true,可不配置  
  swagger-ui:  
    path: /api # 访问路径,默认为/swagger-ui.html

3、設定Swagger3Config類別

建立一個Swagger3Config類,並實作OpenAPISchemaConverter介面。此類別用於配置Swagger3的相關參數。以下是一個範例:

@Configuration  
public class Swagger3Config {  
    @Bean  
    public OpenAPISchemaConverter openAPISchemaConverter() {  
        return new OpenAPISchemaConverter();  
    }  
}

4、建立DTO類別

#建立一個DTO(Data Transfer Object)類,用於定義API請求和回應的模型。使用Swagger註解來描述模型欄位和類型。以下是一個範例:

@ApiModel(description = "用户模型")  
public class UserDTO {  
    @ApiModelProperty(notes = "用户ID", required = true)  
    private Long id;  
    @ApiModelProperty(notes = "用户姓名", required = true)  
    private String name;  
    // 其他字段和注解...  
}

5、建立API介面和註解

在您的服務層或控制器層中,建立API介面和註解,使用Swagger註解來描述API的路徑、請求方法、參數等資訊。以下是一個範例:

@RestController  
@RequestMapping("/api")  
public class UserController {  
    @ApiOperation(value = "获取用户信息", notes = "根据ID获取用户信息")  
    @ApiImplicitParams({@ApiImplicitParam(name = "id", value = "用户ID", required = true, dataType = "Long")})  
    @GetMapping("/user/{id}")  
    public ResponseEntity<UserDTO> getUserById(@PathVariable Long id) {  
        // 实现获取用户信息的逻辑...  
    }  
}

6、啟動應用程式並訪問API文檔頁面

啟動您的Spring Boot應用程序,並在瀏覽器中輸入應用程式的訪問地址。您應該可以看到Swagger UI介面,其中包含了您的API文件和可用的API介面。

以上是springboot如何整合springdoc的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn