在 Swagger 中處理不同的 API 請求方法(如 GET
、POST
、PUT
、DELETE
等)時,可以為每個 API 路徑指定多種請求方法,並且每個方法可以有不同的請求參數、請求體和響應格式。下面是如何在 Swagger(或 OpenAPI 規範)中處理這些請求的基本步驟:
每個 API 請求方法與某個特定的路徑相關聯。在 Swagger 中,paths
部分用於定義這些路徑。例如,我們可以為 /users
路徑定義不同的請求方法。
在某個路徑下可以定義不同的 HTTP 方法(如 GET
、POST
等),並分別描述每個方法的細節,如參數、請求體、響應等。
以下是 Swagger YAML 文件的一個示例,它展示了如何為 /users
路徑定義不同的請求方法:
openapi: 3.0.0
info:
title: 用戶 API
description: 處理用戶相關操作的 API
version: 1.0.0
paths:
/users:
get:
summary: 取得用戶列表
description: 獲取所有用戶的列表
responses:
'200':
description: 成功取得用戶列表
content:
application/json:
schema:
type: array
items:
type: object
properties:
id:
type: integer
description: 用戶ID
name:
type: string
description: 用戶名稱
post:
summary: 新增用戶
description: 新增一個新的用戶
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
name:
type: string
description: 用戶名稱
email:
type: string
description: 用戶的電子郵件
responses:
'201':
description: 用戶成功建立
content:
application/json:
schema:
type: object
properties:
id:
type: integer
description: 新建立的用戶ID
name:
type: string
description: 用戶名稱
email:
type: string
description: 用戶的電子郵件
/users/{id}:
get:
summary: 取得特定用戶的資訊
description: 根據用戶ID來取得特定用戶的詳細資訊
parameters:
- name: id
in: path
required: true
schema:
type: integer
description: 用戶ID
responses:
'200':
description: 成功取得用戶資料
content:
application/json:
schema:
type: object
properties:
id:
type: integer
description: 用戶ID
name:
type: string
description: 用戶名稱
email:
type: string
description: 用戶的電子郵件
'404':
description: 用戶未找到
/users
路徑:
GET
方法:用來取得所有用戶的列表,成功的回應是包含用戶資訊的 JSON 陣列。POST
方法:用來新增一個新用戶,請求體是包含用戶名稱和電子郵件的 JSON 對象,成功的回應是新建用戶的詳細資訊。/users/{id}
路徑:
GET
方法:根據路徑參數 {id}
取得特定用戶的資訊,若成功會返回用戶的詳細資料,若用戶未找到則返回 404。responses
定義不同的回應狀態碼及其對應的回應內容。