摘要:我打算繼續(xù)更新一個方法叫,這可以讓后臺自定義返回的狀態(tài)碼以及錯誤信息。例如,用戶沒有權限,的狀態(tài)碼就應該是,而不應該是我們自定義的了。寫在后面大家如果有更好的解決方案,希望不吝賜教。
Github傳送門 koa2-response
背景
最近做了很多node的后臺項目,寫了很多接口,但是發(fā)現隨著接口的慢慢增多,需要寫越來越來越多類似于下面這種代碼。
ctx.body = { data: { name: "test" }, status: { code: 0, message: success } }
寫成這樣還好,至少做到了所有接口返回的格式統(tǒng)一,如果沒有在這方面做規(guī)范,那么后臺的接口返回不統(tǒng)一,將會給前端帶來很多的問題。
而且每個接口都要寫這么一大堆的代碼。感覺是個特別麻煩的事。
所以koa2-response就這么誕生了。其實在寫這篇文章之前,我已經在我的項目里面用了一段時間了,方便了我們的操作。
安裝
npm install koa2-response
用法
const koa = require("koa"); const router = require("koa-router")(); const app = new koa(); const response = require("koa2-response"); const code = { UNKNOWN_ERROR: [1, "Sorry, you seem to have encountered some unknown errors."] } router .get("/", (ctx, next) => { response.success(ctx, { name: "test" }) }) .get("/error_test", (ctx, next) => { response.error(ctx, code.UNKNOWN_ERROR); }) app.use(router.routes()); app.use(router.allowedMethods()); app.listen(3000);
就這樣很簡單的就可以統(tǒng)一后端的返回數據,這個方法讓我在項目中節(jié)約了很多時間。這個中間件還是在持續(xù)更新中,現在已經有的方法是response.success和response.error。我打算繼續(xù)更新一個方法叫response.throw,這可以讓后臺自定義返回的http狀態(tài)碼以及錯誤信息。例如,用戶沒有權限,http的狀態(tài)碼就應該是401,而不應該是我們自定義的code了。
寫在后面
大家如果有更好的解決方案,希望不吝賜教。
歡迎光臨 個人博客
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規(guī)行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://www.ezyhdfw.cn/yun/110148.html
摘要:在運行這一行之后,也指向這顯然會導致繼承鏈的紊亂明明是用構造函數生成的,因此我們必須手動糾正,將對象的值改為。下文都遵循這一點,即如果替換了對象,那么,下一步必然是為新的對象加上屬性,并將這個屬性指回原來的構造函數。 express&koa 面試題目:1.express和koa的對比,兩者中間件的原理,koa捕獲異常多種情況說一下 參考:https://blog.csdn.net/sh...
摘要:在運行這一行之后,也指向這顯然會導致繼承鏈的紊亂明明是用構造函數生成的,因此我們必須手動糾正,將對象的值改為。下文都遵循這一點,即如果替換了對象,那么,下一步必然是為新的對象加上屬性,并將這個屬性指回原來的構造函數。 express&koa 面試題目:1.express和koa的對比,兩者中間件的原理,koa捕獲異常多種情況說一下 參考:https://blog.csdn.net/sh...
摘要:在運行這一行之后,也指向這顯然會導致繼承鏈的紊亂明明是用構造函數生成的,因此我們必須手動糾正,將對象的值改為。下文都遵循這一點,即如果替換了對象,那么,下一步必然是為新的對象加上屬性,并將這個屬性指回原來的構造函數。 express&koa 面試題目:1.express和koa的對比,兩者中間件的原理,koa捕獲異常多種情況說一下 參考:https://blog.csdn.net/sh...
滬江CCtalk視頻地址:https://www.cctalk.com/v/15114923883523 showImg(https://segmentfault.com/img/remote/1460000012932474?w=1606&h=968); log 日志中間件 最困難的事情就是認識自己。 在一個真實的項目中,開發(fā)只是整個投入的一小部分,版本迭代和后期維護占了極其重要的部分。項目上線...
摘要:不過永久幀的技術會導致主頁面的加載條始終處于狀態(tài),體驗很差。同時,規(guī)范允許服務端指定自定義事件,客戶端偵聽該事件即可。 服務端推 服務端推,指的是由服務器主動的向客戶端發(fā)送消息(響應)。在應用層的HTTP協(xié)議實現中,請求-響應是一個round trip,它的起點來自客戶端,因此在應用層之上無法實現簡易的服務端推功能。當前解決服務端推送的方案有這幾個: 客戶端長輪訓 websocket...
閱讀 1354·2021-11-23 09:51
閱讀 1691·2021-11-16 11:45
閱讀 4470·2021-10-09 09:43
閱讀 2827·2021-07-22 16:47
閱讀 1015·2019-08-27 10:55
閱讀 3528·2019-08-26 17:40
閱讀 3173·2019-08-26 11:39
閱讀 3315·2019-08-23 18:39