iT邦幫忙

2024 iThome 鐵人賽

DAY 2
0
IT 管理

我要成為文件工程師── Web API 文件撰寫系列 第 2

[Day 02] OpenAPI:標準的 API 描述技術規範(一)

  • 分享至 

  • xImage
  •  

昨天探討了 Web API 文件要有的內容,OpenAPI 提供了標準化的規範,讓開發者能夠以 json 或 yaml 格式來描述 API 規格。不少開發者都有看過或用過 Swagger (如下圖),Swagger 其實分為 Swagger UI 及 Swagger Specification 兩個部分,OpenAPI 即為 Swagger Specification 2.0 後改名而來。OpenAPI 規範目前最新版本為 3.1.0,接下將以這個版本及以虛構的會員服務做為範例,說明 OpenAPI 中的各節點定義。

以下範例僅針對必填欄位及部分個人常用欄位介紹,完整規格定義請見 OpenAPI Specification v3.1.0

openapi: 3.1.0
info:
  title: 會員服務 API
  description: 提供會員註冊、查詢和註銷的服務
  version: 1.0.0
servers:
  - url: https://api.example.com/v1
    description: 正式環境
  - url: https://api.staging.example.com/v1
    description: 測試環境
# 以下省略

OpenAPI 可以用 json 或 yaml 呈現,文件開頭必須以 openapi 節點告其 OpenAPI 版本,並在 info 節點定義此服務的基本資訊,其中標題 (info.title) 及版本 (info.version) 為必填,這邊的版本指的是應用服務的版本,與 OpenAPI 版本是獨立的。應用服務的描述可寫在 info.description 節點,若篇幅較長有排版需求可使用 markdown 語法撰寫,參考範例如下:

openapi: 3.1.0
info:
  title: 會員服務 API
  description: |
    提供會員相關服務的 API 介面,包含:
    - 註冊
    - 取得
    - 註銷會員
    
    等功能。
  version: 1.0.0
servers:
  - url: https://api.example.com/v1
    description: 正式環境
  - url: https://api.staging.example.com/v1
    description: 測試環境
# 以下省略

接著可以在 servers 節點中定義提供應用服務的伺服器資訊,像是網址及其名稱。這個節點可以列多個伺服器,若服務有多環境或多地區提供相同服務,可以統一在這邊列出。

至此,服務的基礎資訊都有了,明天將介紹在 OpenAPI 中如何撰寫一支 API 的細節規格。


上一篇
[Day 01] Web API 與 HTTP 文件基本內容
下一篇
[Day 03] OpenAPI:標準的 API 描述技術規範(二)
系列文
我要成為文件工程師── Web API 文件撰寫12
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言