呼叫後端介面 / 介面適配
介面適配
在上例中,假定了後端介面相容筋斗雲介面規範,例如返回格式為[0, jsonData]
及[非0, 錯誤資訊]
。
如果介面協議不相容,則需要做介面適配。
介面適配的目標是通過callSvr
函式更加簡練地呼叫後臺介面,同時達到:
- 呼叫出錯統一處理,例如未認證錯跳轉到登入頁,其它錯誤彈出錯誤提示框等。
- 寫程式碼時只需要處理呼叫成功後返回的資料,不用每次呼叫都處理各種錯誤。
[任務]
適配以下介面協議規範,約定介面返回格式為:{code, msg, data}
,
例如上例中的hello介面,呼叫成功時返回:
{
"code":"0",
"msg":"success",
"data":"jdcloud"
}
失敗返回:
{
"code":"99",
"msg":"對不起,伺服器爆炸了"
}
這時需要對callSvr進行適配,可以在app.js中,設定 MUI.callSvrExt
如下:
MUI.callSvrExt['default'] = {
makeUrl: function(ac) {
return 'http://hostname/lcapi/' + ac;
},
dataFilter: function (data) {
if ($.isPlainObject(data) && data.code !== undefined) {
if (data.code == 0)
return data.data;
if (this.noex)
return false;
app_alert("操作失敗:" + data.msg, "e");
}
else {
app_alert("伺服器通訊協議異常!", "e"); // 格式不對
}
}
};
我們在mockdata.js中設定好模擬資料用於測試:
MUI.mockData = {
"User.get": {code: 0, msg: "success", data: user},
"hello": {code: 0, msg: "success", data:"myworld"}
...
}
上例中,User.get
介面在顯示首頁是會呼叫,所以和"hello"介面一併模擬下。
測試介面呼叫:
callSvr("hello", console.log);
或
callSvrSync("hello");
callSvrSync
是callSvr
的同步呼叫版本,它直接等到呼叫完成才返回,且返回值就是呼叫成功返回的資料。
可以動態修改模擬資料:
MUI.mockData["hello"] = {code: 99, msg: "對不起,伺服器爆炸了"}
在介面適配完成後,應用層程式碼不用去做任何修改。 進入頁面看看,是不是和上節的執行結果是一樣的。
相關文章
- 前端呼叫介面成功但後端沒收到請求前端後端
- 介面卡模式-讓不相容的介面得以適配模式
- Android Q適配(非SDK介面管控)Android
- go語言介面避免無意被適配Go
- 後端適用,Apifox介面文件設計和除錯教程後端API除錯
- Unity學習疑問記錄之介面適配Unity
- CouchBase C 客戶端介面呼叫例項客戶端
- app 呼叫介面APP
- webservice介面呼叫Web
- 如何呼叫api介面API
- Web移動端 自適應縮放介面Web
- 移動端適配
- Django-Scrapy生成後端json介面Django後端JSON
- 後端介面效能最佳化分析後端
- 後端介面對接注意事項後端
- 在小程式後端中轉獲取介面資料,繞過前端呼叫限制後端前端
- Flutter 新聞客戶端 - 02 設計稿適配、加入圖片字型資源、歡迎介面Flutter客戶端
- RPC呼叫介面設計RPC
- 實現呼叫API介面API
- Http介面呼叫示例教程HTTP
- 06.OpenFeign介面呼叫
- 前端如何取消介面呼叫前端
- C++呼叫C介面C++
- 前端的初步----呼叫介面前端
- 2022整合樂娛Api介面開啟對接後樂娛介面全程安全呼叫教程API
- viewport移動端適配View
- rem移動端適配REM
- vw移動端適配
- 適配移動端大全
- 機智使用elementUI呼叫一次介面同時上傳圖片和檔案,同時需要攜帶其他引數,實現呼叫後端介面UI後端
- java通過url呼叫遠端介面返回json資料JavaJSON
- 當前Activity的onPause執行完後,呼叫Paused介面
- 不用再等後端的介面啦!這個開源專案花 2 分鐘就能模擬出後端介面後端
- 後端開發:如何寫出可靠的介面後端
- SpringBoot系列之前後端介面安全技術JWTSpring Boot後端JWT
- 後端整合 Swagger + Knife4j 介面文件後端Swagger
- 支付寶介面呼叫 -- JAVA版Java
- PHP 以 SOAP 方式呼叫介面PHP
- Django呼叫支付寶支付介面Django