日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

npm包之accepts---解决不同Accepts请求问题

發布時間:2024/8/26 51 生活家
生活随笔 收集整理的這篇文章主要介紹了 npm包之accepts---解决不同Accepts请求问题 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

前言

大多時候,我們希望使用請求頭中的Accept字段來確定我們接口返回的數據類型,來滿足不同格式需求的調用者(防止解析錯誤)。
當然還有 字符集、編碼、語言等等。
使用accepts包我們就可以解決這個問題。
如果沒有符合的數據類型,就直接返回 HTTP 406 "Not Acceptable" 錯誤來告知調用者;

示例

官方文檔
直接使用官方示例說明 >_>

var accepts = require('accepts')
var http = require('http')
 
function app (req, res) {
  var accept = accepts(req) // 使用request對象創建實例
 
  switch (accept.type(['json', 'html'])) {
    case 'json':
      res.setHeader('Content-Type', 'application/json')
      res.write('{"hello":"world!"}')
      break
    case 'html':
      res.setHeader('Content-Type', 'text/html')
      res.write('<b>hello, world!</b>')
      break
    default:
      // the fallback is text/plain, so no need to specify it above
      res.setHeader('Content-Type', 'text/plain')
      res.write('hello, world!')
      break
  }
 
  res.end()
}
 
http.createServer(app).listen(3000) // 創建服務

總結

同樣我們可以應用Express,Koa框架中;
在Express中,Accept判斷已經被封裝到了req.accepts()方法中,直接使用就可以了;
其他請求頭類型判斷同理;

總結

以上是生活随笔為你收集整理的npm包之accepts---解决不同Accepts请求问题的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。