引言
在當今的軟體開辟範疇,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開辟效力。