
免費獲取韻達快遞查詢API的使用指南
在 MuleSoft 的代理 API 設計中,客戶端只需配置一個單一的代理 API 端點,而無需管理多個后端 API 的配置。在調用時,客戶端可以在代理 API 的請求體中傳遞所需的所有后端 API 信息。代理 API 將代表客戶端調用相應的后端 API,并將響應返回給客戶端。這些響應可以是有效的,也可能是無效的,代理 API 將確保將其準確傳遞給客戶端。
根據 MuleSoft 的基本標準,代理 API 將啟用默認客戶端 ID 強制策略,以確保請求的來源合法。
第二層驗證涉及有效負載的驗證,主要通過 RAML 模式來實現。模式驗證將確保以下內容:
在此設計中,代理 API 將僅保存主機和端口信息,而不會存儲任何客戶端或后端 API 的詳細信息。這種方式為系統增加了一層安全性,確保后端 API 僅能通過代理 API 訪問,而無法通過其他方式直接訪問。
基本身份驗證、承載令牌、JWT、單點登錄(SSO)、客戶端 ID、客戶端密鑰等安全標頭都可以通過代理 API 進行傳遞。這些標頭必須在請求的標頭部分發送,代理 API 會將其轉發至后端。由于這些是敏感數據,設計標準不鼓勵將標頭值替換為主體/有效負載中的內容。
HTTP 協議
POST /api/callBackend HTTP/1.1
Host: localhost:8082
Authorization: Basic YW5rdXI6Ymh1eWFu
client_id: test
client_secret: test
Content-Type: application/json
Content-Length: 845
{
"host": "backend01",
"method": "POST",
"endpoint": "/api/createEmployee",
"forwarder-content-type": "application/json",
"body": {
"firstName": "Ankur",
"middleName": "Jyoti",
"lastName": "Bhuyan",
"email": "webmail.ajb@ankuran.online",
"gender": "Male",
"phone": 9590951212,
"currentAddress": {
"isCurrentAddress": true,
"street": "Elcetronic City",
"city": "Bangalore",
"district": "Bangalore",
"pin": 56860,
"country": "India"
},
"permanentAddress": {
"isCurrentAddress": false,
"street": "3 Rue Renee Aspe",
"city": "Toulouse",
"district": "Occitanie",
"pin": 31000,
"country": "France"
}
}
}
為了驗證此代理 API 設計,已準備一個概念證明(POC)。該 POC 是通過使用 Mule4 域項目配置開發的,以下是概述。
請在此處找到所有 POC 代碼,并獲取用于測試端點的 Postman 腳本。
這種設計特別適合那些頻繁更改后端 API 的場景。對于在后端 API 中配置復雜的人來說,這種設計也顯得尤為有效。如果希望減少客戶端 API 的部署周期,尤其是在后端 API 變化頻繁的情況下,這種設計將非常有幫助。此外,這種代理 API 設計可以有效降低開發和部署時間,減輕開發人員的工作量。
需要注意的是,此設計僅在主體類型為 application/json
、application/xml
、text/plain
或 application/x-www-form-urlencoded
時有效,而不適用于多部分/表單數據(如文件上傳)。然而,未來希望能夠擴展此設計以支持這一需求。
原文鏈接:Mule4 Proxy API