# OpenAPI

Source: https://openflow.run/zh-tw/docs/nodes/openapi/
Language: zh-TW
Product version: 0.1.0-beta.77

根據 API 文件中選定的操作，生成請求和回應連接埠。

API 提供了描述目標操作的 OpenAPI 文件時，可以使用 OpenAPI 節點。產品會根據文件解析連接埠和可選認證方式。

## 選擇操作

```json
{
  "op": "node.add", "as": "status", "type": "openapi", "name": "Read service status",
  "config": {
    "sourceUrl": "https://api.example.com/openapi.json",
    "path": "/status",
    "method": "get"
  }
}
```

將示例文件地址替換為真實 API 文件，選擇路徑和方法，再檢查生成的欄位和可用認證方式。透過輸入綁定該認證方式支援的憑證。

OpenAPI 根據選取的 GET /status 操作生成請求和結果連接埠。

**輸入**
內嵌的示例 OpenAPI 文件宣告了一份狀態回應。

**預期結果**
選取操作透過產生的連接埠回傳文件宣告的回應。

**執行前準備**
使用真實 API 文件和介面，選擇操作，並設定必要的認證。

[下載工作流程](https://openflow.run/docs/examples/openapi-status.openflow.json)

## 生成的連接埠

選定操作定義參數、請求本文結構和結果連接埠。具體名稱應檢視節點詳情，不能沿用對其他 API 操作的假設。

節點會儲存定義快照，一般局部編輯不會更新它。需要採用變更後的文件時，應明確更新或重新選擇操作。文件更新不應悄悄改動節點的無關設定。

## 認證

認證方式從解析出的選項中選擇，並作為一個整體替換。按所選方式綁定支援的憑證。API 文件說明如何認證，並不授予 API 使用權限。

## 選擇其他節點

介面沒有 OpenAPI 文件時，可用 [HTTP 請求](https://openflow.run/zh-tw/docs/nodes/http-request/index.md)。目錄已有對應應用操作，且需要代管帳號授權時，可用[應用操作節點](https://openflow.run/zh-tw/docs/nodes/connector/index.md)。

OpenAPI 支援一般[重試和錯誤處理](https://openflow.run/zh-tw/docs/concepts/errors-and-retries/index.md)。重複請求可能重複遠端操作。

## 資料來源

*   [docs/control/contracts/control-api.md](https://github.com/oomol-lab/open-flow/blob/e25a738d170322734572a0b8a1323cb00b9d355a/docs/control/contracts/control-api.md#openapi-documents-and-tasks)
*   [docs/authoring/node-authoring.md](https://github.com/oomol-lab/open-flow/blob/e25a738d170322734572a0b8a1323cb00b9d355a/docs/authoring/node-authoring.md)
*   [packages/open-flow/src/workbench/browser/runtime/editor/addNodeOptions.ts](https://github.com/oomol-lab/open-flow/blob/e25a738d170322734572a0b8a1323cb00b9d355a/packages/open-flow/src/workbench/browser/runtime/editor/addNodeOptions.ts)
