【從入門到精通】Swagger API文檔全攻略教程

提問者:用戶KWGT 發布時間: 2025-06-08 02:37:48 閱讀時間: 3分鐘

最佳答案

引言

在當今的軟體開辟範疇,API(利用順序編程介面)已成為連接前後端、差別體系間的重要橋樑。為了確保API的正確性跟易用性,API文檔的編寫顯得尤為重要。Swagger作為一個開源的API文檔跟測試東西,可能幫助開辟者輕鬆創建、保護跟測試API文檔。本文將帶妳從入門到粗通,單方面懂得Swagger的利用。

一、Swagger簡介

Swagger是一個用於計劃跟構建API的框架,它供給了一套完全的API標準,使得開辟者可能計劃、構建、記錄跟利用REST API。Swagger的核心是一個被稱為OpenAPI Specification(OAS)的JSON或YAML文件,它定義了API的構造、參數、呼應等信息。

二、Swagger安裝與設置

2.1 在Spring Boot項目中引入依附

<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>

2.2 創建Swagger設置類

@Configuration
@EnableSwagger2
public class SwaggerConfig {
    @Bean
    public Docket apiDocket() {
        return new Docket(DocumentationType.SWAGGER_2)
                .apiInfo(apiInfo())
                .select()
                .apis(RequestHandlerSelectors.any())
                .paths(PathSelectors.any())
                .build();
    }

    private ApiInfo apiInfo() {
        return new ApiInfoBuilder()
                .title("API文檔")
                .description("Swagger API文檔示例")
                .version("1.0.0")
                .build();
    }
}

三、Swagger註解

Swagger供給了一系列註解,用於定義API模型、參數、呼應等信息。

3.1 類級其余註解

  • @Api:用於定義API的基本信息,如標題、描述等。
  • @ApiResponse:用於定義API的呼應信息。
  • @ApiResponses:用於定義一組API的呼應信息。

3.2 方法級其余註解

  • @ApiOperation:用於定義API方法的基本信息,如操縱稱號、描述等。
  • @ApiParam:用於定義API方法的參數信息。
  • @ApiResponse:用於定義API方法的呼應信息。

四、Swagger UI

Swagger UI是一個靜態生成的HTML文件,可能將Swagger標準文件襯著成一個美不雅易用的API文檔網頁。在Spring Boot項目中,只有拜訪http://localhost:8080/swagger-ui.html即可檢查API文檔並停止測試。

五、Swagger高等功能

5.1 數據模仿

Swagger支撐數據模仿功能,可能模仿API方法的呼應數據。

@ApiOperation(value = "獲取用戶信息", notes = "根據用戶ID獲取用戶信息")
@ApiResponses(value = {
        @ApiResponse(code = 200, message = "成功", response = User.class),
        @ApiResponse(code = 400, message = "懇求錯誤")
})
@GetMapping("/user/{id}")
public ResponseEntity<User> getUser(@ApiParam(value = "用戶ID", required = true) @PathVariable("id") Long id) {
    // 模仿數據
    User user = new User();
    user.setId(id);
    user.setName("張三");
    user.setAge(18);
    return ResponseEntity.ok(user);
}

5.2 文檔國際化

Swagger支撐文檔國際化功能,可能根據用戶的言語偏好展示差其余文檔。

@ApiInfo(
        title = "API文檔",
        description = "Swagger API文檔示例",
        version = "1.0.0",
        contact = new ApiContact("張三", "zhangsan@example.com", "http://www.example.com")
)

六、總結

Swagger是一款功能富強的API文檔跟測試東西,可能幫助開辟者輕鬆創建、保護跟測試API文檔。經由過程本文的介紹,信賴妳曾經對Swagger有了單方面的認識。在現實項目中,妳可能根據須要機動應用Swagger的各種功能,進步API開辟效力。

相關推薦