成人无码视频,亚洲精品久久久久av无码,午夜精品久久久久久毛片,亚洲 中文字幕 日韩 无码

資訊專欄INFORMATION COLUMN

Koa中更方便簡單發(fā)送響應(yīng)的方式

liujs / 3607人閱讀

摘要:我打算繼續(xù)更新一個方法叫,這可以讓后臺自定義返回的狀態(tài)碼以及錯誤信息。例如,用戶沒有權(quán)限,的狀態(tài)碼就應(yīng)該是,而不應(yīng)該是我們自定義的了。寫在后面大家如果有更好的解決方案,希望不吝賜教。

Github傳送門 koa2-response

背景

最近做了很多node的后臺項目,寫了很多接口,但是發(fā)現(xiàn)隨著接口的慢慢增多,需要寫越來越來越多類似于下面這種代碼。

ctx.body = {
    data: {
        name: "test"
    },
    status: {
        code: 0,
        message: success
    }
}

寫成這樣還好,至少做到了所有接口返回的格式統(tǒng)一,如果沒有在這方面做規(guī)范,那么后臺的接口返回不統(tǒng)一,將會給前端帶來很多的問題。

而且每個接口都要寫這么一大堆的代碼。感覺是個特別麻煩的事。

所以koa2-response就這么誕生了。其實在寫這篇文章之前,我已經(jīng)在我的項目里面用了一段時間了,方便了我們的操作。

安裝

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)一后端的返回數(shù)據(jù),這個方法讓我在項目中節(jié)約了很多時間。這個中間件還是在持續(xù)更新中,現(xiàn)在已經(jīng)有的方法是response.success和response.error。我打算繼續(xù)更新一個方法叫response.throw,這可以讓后臺自定義返回的http狀態(tài)碼以及錯誤信息。例如,用戶沒有權(quán)限,http的狀態(tài)碼就應(yīng)該是401,而不應(yīng)該是我們自定義的code了。

寫在后面

大家如果有更好的解決方案,希望不吝賜教。

歡迎光臨 個人博客

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://m.hztianpu.com/yun/110148.html

相關(guān)文章

  • 大廠532道面試題知識點筆記

    摘要:在運行這一行之后,也指向這顯然會導(dǎo)致繼承鏈的紊亂明明是用構(gòu)造函數(shù)生成的,因此我們必須手動糾正,將對象的值改為。下文都遵循這一點,即如果替換了對象,那么,下一步必然是為新的對象加上屬性,并將這個屬性指回原來的構(gòu)造函數(shù)。 express&koa 面試題目:1.express和koa的對比,兩者中間件的原理,koa捕獲異常多種情況說一下 參考:https://blog.csdn.net/sh...

    Tony 評論0 收藏0
  • 大廠532道面試題知識點筆記

    摘要:在運行這一行之后,也指向這顯然會導(dǎo)致繼承鏈的紊亂明明是用構(gòu)造函數(shù)生成的,因此我們必須手動糾正,將對象的值改為。下文都遵循這一點,即如果替換了對象,那么,下一步必然是為新的對象加上屬性,并將這個屬性指回原來的構(gòu)造函數(shù)。 express&koa 面試題目:1.express和koa的對比,兩者中間件的原理,koa捕獲異常多種情況說一下 參考:https://blog.csdn.net/sh...

    RdouTyping 評論0 收藏0
  • 大廠532道面試題知識點筆記

    摘要:在運行這一行之后,也指向這顯然會導(dǎo)致繼承鏈的紊亂明明是用構(gòu)造函數(shù)生成的,因此我們必須手動糾正,將對象的值改為。下文都遵循這一點,即如果替換了對象,那么,下一步必然是為新的對象加上屬性,并將這個屬性指回原來的構(gòu)造函數(shù)。 express&koa 面試題目:1.express和koa的對比,兩者中間件的原理,koa捕獲異常多種情況說一下 參考:https://blog.csdn.net/sh...

    cgspine 評論0 收藏0
  • iKcamp|基于Koa2搭建Node.js實戰(zhàn)(含視頻)? 記錄日志

    滬江CCtalk視頻地址:https://www.cctalk.com/v/15114923883523 showImg(https://segmentfault.com/img/remote/1460000012932474?w=1606&h=968); log 日志中間件 最困難的事情就是認識自己。 在一個真實的項目中,開發(fā)只是整個投入的一小部分,版本迭代和后期維護占了極其重要的部分。項目上線...

    stefan 評論0 收藏0
  • 服務(wù)端事件EventSource揭秘

    摘要:不過永久幀的技術(shù)會導(dǎo)致主頁面的加載條始終處于狀態(tài),體驗很差。同時,規(guī)范允許服務(wù)端指定自定義事件,客戶端偵聽該事件即可。 服務(wù)端推 服務(wù)端推,指的是由服務(wù)器主動的向客戶端發(fā)送消息(響應(yīng))。在應(yīng)用層的HTTP協(xié)議實現(xiàn)中,請求-響應(yīng)是一個round trip,它的起點來自客戶端,因此在應(yīng)用層之上無法實現(xiàn)簡易的服務(wù)端推功能。當(dāng)前解決服務(wù)端推送的方案有這幾個: 客戶端長輪訓(xùn) websocket...

    sf190404 評論0 收藏0

發(fā)表評論

0條評論

閱讀需要支付1元查看
<