日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 综合教程 >内容正文

综合教程

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

發布時間:2024/8/26 综合教程 44 生活家
生活随笔 收集整理的這篇文章主要介紹了 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请求问题的全部內容,希望文章能夠幫你解決所遇到的問題。

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