国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

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

liujs / 3448人閱讀

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

Github傳送門 koa2-response

背景

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

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

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

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

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

安裝

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

寫在后面

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

歡迎光臨 個(gè)人博客

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

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

相關(guān)文章

  • 大廠532道面試題知識點(diǎn)筆記

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

    Tony 評論0 收藏0
  • 大廠532道面試題知識點(diǎn)筆記

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

    RdouTyping 評論0 收藏0
  • 大廠532道面試題知識點(diǎn)筆記

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

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

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

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

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

    sf190404 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<