首頁  >  文章  >  web前端  >  Koa中發送回應的一種簡單的方式

Koa中發送回應的一種簡單的方式

不言
不言原創
2018-07-21 11:26:441888瀏覽

這篇文章給大家分享的是關於Koa中發送回應的一種簡單的方式,內容很不錯,有需要的朋友可以參考一下,希望可以幫助到大家。

背景

最近做了很多node的後台項目,寫了很多接口,但是發現隨著接口的慢慢增多,需要寫越來越來越多類似於下面這種程式碼。

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

寫成這樣還好,至少做到了所有介面回傳的格式統一,如果沒有在這方面做規範,那麼後台的介面回傳不統一,將會為前端帶來很多的問題。

而且每個介面都要寫這麼一大堆的程式碼。感覺是個特別麻煩的事。

所以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);

就這樣很簡單的就可以統一後端的回傳數據,這個方法讓我在專案中節約了很多時間。這個中間件還是在持續更新中,現在已經有的方法是response.success和response.error。我打算繼續更新一個方法叫response.throw,這可以讓後台自訂回傳的http狀態碼以及錯誤訊息。例如,使用者沒有權限,http的狀態碼就應該是401,而不應該是我們自訂的code了。

相關推薦:

如何使用FileReader物件取得圖片的程式碼

以上是Koa中發送回應的一種簡單的方式的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn