npm包之accepts---解决不同Accepts请求问题
生活随笔
收集整理的這篇文章主要介紹了
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请求问题的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 红包功能的开发总结
- 下一篇: [bbk4485]第二章Flashbac