Swagger API 響應對象集列表

REST
Remote
1
06:04 AM · Dec 01 ,2025

1. 概述

在本教程中,我們將學習如何修改 Swagger API 響應。首先,我們將從 OpenAPI 規範和 Swagger API 響應的一些解釋開始。然後,我們將使用 Spring Boot 來實現一個簡單的示例,以 OpenAPI 3.0 文檔一個 Spring REST API。之後,我們將使用 Swagger 的註解來設置響應體,以提供一個對象列表。

2. Implementation

在本次實現中,我們將設置一個簡單的 Spring Boot 項目,幷包含 Swagger UI。 這樣,Swagger UI 將包含應用程序的所有端點。 之後,我們將修改響應體以返回一個列表。

2.1. 使用 Swagger UI 設置 Spring Boot 項目

首先,我們將創建一個 類,其中保存一個產品列表。 接下來,在 中,我們定義 REST API 以允許用户獲取創建的產品列表。

首先,讓我們定義 類:

public class Product {
    String code;
    String name;

    // standard getters and setters
}

然後,我們實現 類:

@Service
public class ProductService {
    List<Product> productsList = new ArrayList<>();

    public List<Product> getProductsList() {
        return productsList;
    }
}

最後,我們將有一個 類來定義 REST API:

@RestController
public class ProductController {
    final ProductService productService;

    public ProductController(ProductService productService) {
        this.productService = productService;
    }

    @GetMapping("/products")
    public List<Product> getProductsList(){
        return productService.getProductsList();
    }
}

2.2. 修改 Swagger API 響應

Swagger 提供了多種註解來文檔化 REST API。 使用 ,我們可以定義一個 @ApiResponse 數組,以定義 REST API 的預期響應。

現在,我們使用 @ApiResponses 來設置響應內容為 對象列表,用於 方法:

@ApiResponses(
  value = {
    @ApiResponse(
      content = {
        @Content(
          mediaType = "application/json",
          array = @ArraySchema(schema = @Schema(implementation = Product.class)))
      })
  })
@GetMapping("/products")
public List<Product> getProductsList() {
    return productService.getProductsList();
}

在此示例中,我們將響應媒體類型設置為 在響應體中。 此外,我們使用 關鍵字修改了響應體,並使用 關鍵字將響應設置為 對象列表:

List of Products

 

3. 結論

在本教程中,我們快速瞭解了 OpenAPI 規範和 Swagger API 響應。Swagger 為我們提供了諸如 @ApiResponses 這樣的註解,包括不同的關鍵字。因此,我們可以輕鬆地使用它們來修改請求和響應以滿足我們應用程序的要求。在我們的實現中,我們使用 @ApiResponses 來修改 Swagger 響應體中的內容。

user avatar
0 位用戶收藏了這個故事!
收藏

發佈 評論

Some HTML is okay.