日韩成人免费在线_国产成人一二_精品国产免费人成电影在线观..._日本一区二区三区久久久久久久久不

當前位置:首頁 > 科技  > 軟件

Body-Parser:一個格式化請求體數據的 Express 三方庫

來源: 責編: 時間:2024-02-29 14:43:45 242觀看
導讀body-parser 是 Express 中用于格式化請求體數據的一個三方庫。以下是一個 body-parser 的常用使用案例。const express = require('express')const bodyParser = require('body-parser')const app = express()// par

body-parser 是 Express 中用于格式化請求體數據的一個三方庫。jVl28資訊網——每日最新資訊28at.com

以下是一個 body-parser 的常用使用案例。jVl28資訊網——每日最新資訊28at.com

const express = require('express')const bodyParser = require('body-parser')const app = express()// parse application/x-www-form-urlencodedapp.use(bodyParser.urlencoded({ extended: false }))// parse application/jsonapp.use(bodyParser.json())app.use(function (req, res) {  res.setHeader('Content-Type', 'text/plain')  res.write('you posted:/n')  res.end(JSON.stringify(req.body, null, 2))})

以上代碼設置的含義是:項目中所有 Content-Type 是 "application/x-www-form-urlencoded" 或 "application/json" 請求數據都會經過 body-parser 中間件的處理,并設置到 req.body 屬性上。jVl28資訊網——每日最新資訊28at.com

下面就來詳細介紹 body-parser 的安裝和使用。jVl28資訊網——每日最新資訊28at.com

安裝

$ npm install body-parser

使用也比較簡單。jVl28資訊網——每日最新資訊28at.com

const bodyParser = require('body-parser')

我們是通過調用 bodyParser 對象的方法來獲取不同 Content-Type 的數據處理能力的。下面就來介紹。jVl28資訊網——每日最新資訊28at.com

API

bodyParser 上一共提供了 4 個方法來使用,分別對應 4 種不同類型的請求體數據。jVl28資訊網——每日最新資訊28at.com

  1. bodyParser.json([options])
  2. bodyParser.urlencoded([options])
  3. bodyParser.text([options])
  4. bodyParser.raw([options])

其中前 2 種是我們最常使用的。接下來分別介紹。jVl28資訊網——每日最新資訊28at.com

bodyParser.json([options])

返回能解析 json 數據的中間件,默認匹配 Content-Type 值為 "application/json"(可以通過 options.type 進行控制)。接受任何 Unicode  編碼的請求體數據,而且還支持 gzip 和 deflate 壓縮算法的自動解壓。jVl28資訊網——每日最新資訊28at.com

解析好的請求體數據會放在 req.body 屬性上,無請求體數據則返回一個空對象({})。jVl28資訊網——每日最新資訊28at.com

Options 選項

這是一個可選參數,不傳入則使用默認選項。其他 3 個方法與此類似,在此講 1 遍后,如果沒有特殊情況,后面就不再贅述了。jVl28資訊網——每日最新資訊28at.com

  • type:默認值是 "application/json",表示這個中間件默認匹配的 Content-Type 是 "application/json",這個字段除了接收字符串,還支持接收對象和數組。你也可以自定義,比如設置成 "*/json"(內部是使用 type-is[1] 做匹配的)
  • inflate:是否開啟自動解壓請求體數據的能力,默認為 true(目前支持 支持 gzip 和 deflate 2 中壓縮算法)
  • limit:控制最大請求正文大小,否則報錯。默認值是 '100kb'(內部傳遞給 bytes[2] 庫將其解析成字節數進行判斷處理)
  • reviver:body-parser 內部默認使用 JSON.parse() 方法將字符串格式化成對象設置到 req.body 上。這個參數就是傳遞給 JSON.parse() 方法的第 2 個參數,用來自定義解析行為。搞不清楚的同學可以看一下 MDN 上 JSON.parse() 的使用文檔[3]
  • strict:默認為 true,用來控制內部 JSON.parse() 所接收的字符串是否只能是對象和數組。設置成 false 時表示可以接受任意類型的字符串數據

bodyParser.urlencoded([options])

默認處理 Content-Type 值為 "application/x-www-form-urlencoded" 的請求體數據。jVl28資訊網——每日最新資訊28at.com

.urlencoded() 中間件還提供了一個布爾參數 urlencoded,用來決定使用哪一個查詢解析庫來處理請求參數。jVl28資訊網——每日最新資訊28at.com

  • urlencoded為 false 時,內部使用 querystring 庫解析
  • urlencoded為 true 時,內部使用 qs 庫解析

qs 與 querystring 的區別在于:querystring 只能解析簡單 key-value 對,qs 則支持嵌套對象的 key-value 對的解析,后者功能會更加強大。jVl28資訊網——每日最新資訊28at.com

Options 選項

  • urlencoded:以上已介紹過。默認為 true(即使用 qs 解析參數),不過已被棄。官方推薦顯式傳入一個值,這就需要你了解 qs 和 querystring 之間的區別
  • parameterLimit:控制 URL 編碼數據中允許的最大參數數量,默認是 1000。多于這個值,會向客戶端返回 413 響應碼

bodyParser.text([options])

默認處理 Content-Type 值為 "text/plain" 的請求體數據。jVl28資訊網——每日最新資訊28at.com

Options 選項

  • defaultCharset:如果請求頭中的 Content-Type 頭中沒有指定字符集,則使用這個字段所指定的文本內容的默認字符集。默認為 "utf-8"。

bodyParser.raw([options])

默認處理 Content-Type 值為 "application/octet-stream" 的請求體數據。jVl28資訊網——每日最新資訊28at.com

不支持 multipart/form-data

body-parser 并不支持處理 Content-Type 是 "multipart/form-data" 的請求體數據。如果你有這方面的需求,可以參照下面的庫進行選擇。jVl28資訊網——每日最新資訊28at.com

  • busboy[4] 和 connect-busboy[5]
  • multiparty[6] 和 connect-multiparty[7]
  • formidable[8]
  • multer[9]

express 已內置 body-parser

express 從 v4.17.0 開始[10],已全面內置了 body-parser 功能,你直接可以通過 express().json() / express().raw()/express().text()/ express().urlencoded() 4 個 API。jVl28資訊網——每日最新資訊28at.com

在內部,這 4 方法其實是 body-parser 借著 express 暴露出來[11]的。也就是說項目中你無需安裝 body-parser 依賴了。jVl28資訊網——每日最新資訊28at.com

const bodyParser = require('body-parser')/** * Expose middleware */exports.json = bodyParser.jsonexports.query = require('./middleware/query');exports.raw = bodyParser.rawexports.text = bodyParser.textexports.urlencoded = bodyParser.urlencoded

總結

本文介紹了 Express 中用于解析請求體數據的中間件 body-parser。 其實 Express 在 v4.17.0 中已完整內置了 body-parser 的能力,你可以通過 express() 上的 .json()/.urlencoded()/.text()/.raw() 方法訪問到。jVl28資訊網——每日最新資訊28at.com

就介紹到這里了,希望本文對你有所幫助,感謝閱讀,再見。jVl28資訊網——每日最新資訊28at.com

參考資料

[1]type-is: https://www.npmjs.org/package/type-is#readmejVl28資訊網——每日最新資訊28at.com

[2]bytes: https://www.npmjs.com/package/bytesjVl28資訊網——每日最新資訊28at.com

[3]MDN 上 JSON.parse() 的使用文檔: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/JSON/parse#Example.3A_Using_the_reviver_parameterjVl28資訊網——每日最新資訊28at.com

[4]busboy: https://www.npmjs.org/package/busboy#readmejVl28資訊網——每日最新資訊28at.com

[5]connect-busboy: https://www.npmjs.org/package/connect-busboy#readmejVl28資訊網——每日最新資訊28at.com

[6]multiparty: https://www.npmjs.org/package/multiparty#readmejVl28資訊網——每日最新資訊28at.com

[7]connect-multiparty: https://www.npmjs.org/package/connect-multiparty#readmejVl28資訊網——每日最新資訊28at.com

[8]formidable: https://www.npmjs.org/package/formidable#readmejVl28資訊網——每日最新資訊28at.com

[9]multer: https://www.npmjs.org/package/multer#readmejVl28資訊網——每日最新資訊28at.com

[10]從 v4.17.0 開始: https://expressjs.com/en/4x/api.html#express.jsonjVl28資訊網——每日最新資訊28at.com

[11]body-parser 借著 express 暴露出來: https://github.com/expressjs/express/blob/4.18.2/lib/express.js#L78jVl28資訊網——每日最新資訊28at.com

本文鏈接:http://m.www897cc.com/showinfo-26-75357-0.htmlBody-Parser:一個格式化請求體數據的 Express 三方庫

聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。郵件:2376512515@qq.com

上一篇: 詳解滲透測試和漏洞掃描的開源自動化解決方案

下一篇: 如何在Rust中操作JSON,你學會了嗎?

標簽:
  • 熱門焦點
  • Raft算法:保障分布式系統共識的穩健之道

    1. 什么是Raft算法?Raft 是英文”Reliable、Replicated、Redundant、And Fault-Tolerant”(“可靠、可復制、可冗余、可容錯”)的首字母縮寫。Raft算法是一種用于在分布式系統
  • 每天一道面試題-CPU偽共享

    前言:了不起:又到了每天一到面試題的時候了!學弟,最近學習的怎么樣啊 了不起學弟:最近學習的還不錯,每天都在學習,每天都在進步! 了不起:那你最近學習的什么呢? 了不起學弟:最近在學習C
  • 2天漲粉255萬,又一賽道在抖音爆火

    來源:運營研究社作者 | 張知白編輯 | 楊佩汶設計 | 晏談夢潔這個暑期,旅游賽道徹底火了:有的「地方」火了——貴州村超旅游收入 1 個月超過 12 億;有的「博主」火了&m
  • 騰訊蓋樓,字節拆墻

    來源 | 光子星球撰文 | 吳坤諺編輯 | 吳先之“想重溫暴刷深淵、30+技能搭配暴搓到爽的游戲體驗嗎?一起上晶核,即刻暴打!”曾憑借直播騰訊旗下代理格斗游戲《DNF》一
  • 一條抖音4億人圍觀 ! 這家MCN比無憂傳媒還野

    作者:Hiu 來源:互聯網品牌官01 擦邊少女空降熱搜,幕后推手曝光被網友譽為“純欲天花板”的女網紅井川里予,近期因為一組哥特風照片登上熱搜,引發了一場互聯網世界關于
  • 馮提莫簽約抖音公會 前“斗魚一姐”消失在直播間

    來源:直播觀察提起“馮提莫”這個名字,很多網友或許聽過,但應該不記得她是哪位主播了。其實,作為曾經的“斗魚一姐”,馮提莫在游戲直播的年代影響力不輸于現
  • 小米汽車電池信息疑似曝光:容量101kWh,支持800V高壓快充

    7月14日消息,今日一名博主在社交媒體發布了一張疑似小米汽車電池信息的照片,顯示該電池包正是寧德時代麒麟電池,容量為101kWh,電壓為726.7V,可以預測小
  • 網傳小米汽車開始篩選交付中心 建筑面積不低于3000平方米

    7月7日消息,近日有微博網友@長三角行健者爆料稱,據經銷商集團反饋,小米汽車目前已經開始了交付中心的篩選工作,要求候選場地至少有120個車位,建筑不能低
  • OPPO K11樣張首曝:千元機影像“卷”得真不錯!

    一直以來,OPPO K系列機型都保持著較為均衡的產品體驗,歷來都是2K價位的明星機型,去年推出的OPPO K10和OPPO K10 Pro兩款機型憑借各自的出色配置,堪稱有
Top 日韩成人免费在线_国产成人一二_精品国产免费人成电影在线观..._日本一区二区三区久久久久久久久不
久久久久欧美精品| 最新日韩在线视频| 国产精品免费观看视频| 中文亚洲字幕| 亚洲在线视频一区| 久久久九九九九| 欧美精品 日韩| 国产精品久久久久久亚洲毛片| 久久久综合视频| 欧美理论在线播放| 国产精品综合久久久| 在线成人黄色| 亚洲天堂av在线免费| 久久se精品一区二区| 亚洲性线免费观看视频成熟| 久久精品国产精品亚洲综合 | 欧美亚洲综合网| 久久视频一区| 欧美视频在线观看免费| 精品1区2区3区4区| 亚洲午夜视频在线| 你懂的网址国产 欧美| 欧美日本视频在线| 国产一在线精品一区在线观看| 国产毛片久久| 亚洲人成网站精品片在线观看 | 久久综合电影一区| 欧美午夜精品伦理| 亚洲国产精品一区二区三区| 亚洲欧美日韩在线观看a三区| 你懂的视频一区二区| 国产九九精品| 日韩一级大片在线| 久久青草欧美一区二区三区| 国产精品成人午夜| 国产精品久久久久久久久久久久 | 欧美精品免费观看二区| 欧美日韩成人一区二区| 欧美日韩在线免费观看| 激情成人综合| 亚洲欧美一区二区激情| 欧美精品久久久久久| 欧美日本韩国一区| 国产一区日韩一区| 亚洲午夜电影在线观看| 午夜在线精品偷拍| 欧美日韩亚洲综合| 亚洲国产日韩一级| 久久精品一区二区国产| 欧美成人日本| 国产亚洲一级| 亚洲欧美激情视频| 欧美日韩亚洲一区二区| 91久久久久久国产精品| 久久久久一本一区二区青青蜜月| 国产精品久久久爽爽爽麻豆色哟哟| 亚洲日韩欧美视频| 亚洲欧美精品在线观看| 欧美日韩在线电影| 亚洲精品亚洲人成人网| 欧美69视频| 亚洲福利专区| 久久亚洲美女| 狠狠色丁香婷婷综合影院| 午夜在线精品偷拍| 国产精品视频你懂的| 亚洲午夜精品一区二区三区他趣| 欧美久久久久免费| 亚洲国产专区校园欧美| 欧美va亚洲va香蕉在线| 亚洲国产精品久久久久婷婷老年| 久久一二三四| 亚洲成人在线网| 久久综合色播五月| 尤物99国产成人精品视频| 久久久久久9999| 一区二区三区无毛| 久久亚洲美女| 亚洲丰满在线| 欧美黄色aaaa| 99国产精品国产精品久久| 欧美精品在线免费观看| 亚洲乱码日产精品bd| 欧美日韩国产色综合一二三四| 日韩午夜三级在线| 欧美色网一区二区| 亚洲在线国产日韩欧美| 国产欧美日本一区二区三区| 亚洲精选中文字幕| 欧美精品亚洲一区二区在线播放| 最新69国产成人精品视频免费| 男女视频一区二区| 亚洲精选成人| 国产精品v欧美精品v日韩| 亚洲综合日韩| 国产亚洲福利| 亚洲你懂的在线视频| 国产精品一区免费观看| 久久精品国产99国产精品| 精品51国产黑色丝袜高跟鞋| 欧美高清在线观看| 黑人巨大精品欧美一区二区小视频 | 国产精品美女在线| 欧美一区二区免费| 精品88久久久久88久久久| 嫩草国产精品入口| 激情av一区| 欧美成人免费播放| 亚洲午夜羞羞片| 韩国女主播一区| 欧美一区二区三区视频在线观看| 狠狠色丁香久久婷婷综合丁香| 欧美成人免费播放| 亚洲香蕉视频| 黄色一区二区三区| 欧美精品一区二区三区四区| 亚洲香蕉伊综合在人在线视看| 国产视频欧美| 欧美成人免费va影院高清| 亚洲深爱激情| 国产亚洲亚洲| 欧美激情 亚洲a∨综合| 亚洲淫性视频| 亚洲国产视频一区| 老司机午夜精品视频在线观看| 91久久久久久久久| 国产精品久久久久久妇女6080| 久久精品一区二区三区四区 | 国产一区二区精品| 欧美精品久久天天躁 | 欧美日韩在线大尺度| 久久国产精品久久久久久久久久| 亚洲娇小video精品| 国产精品美女一区二区| 毛片一区二区三区| 亚洲欧美清纯在线制服| 亚洲国产成人久久综合一区| 国产精品久久久999| 麻豆精品视频在线| 午夜精品999| 日韩视频免费| 欧美色大人视频| 久久精品30| 黄色av日韩| 欧美图区在线视频| 亚洲午夜黄色| 精品成人国产| 国产精品多人| 欧美成人午夜77777| 欧美主播一区二区三区| 国产综合亚洲精品一区二| 欧美日本韩国在线| 久久久久久久久岛国免费| 亚洲性感激情| 日韩亚洲欧美中文三级| 在线成人性视频| 国产欧美va欧美不卡在线| 欧美日韩你懂的| 免费欧美日韩国产三级电影| 欧美亚洲一区二区三区| 99精品99久久久久久宅男| 永久免费精品影视网站| 国产裸体写真av一区二区| 欧美日韩亚洲系列| 欧美精品激情| 欧美成人精品一区二区| 久久久久久久久久久一区| 亚洲欧美国产毛片在线| 亚洲最快最全在线视频| 亚洲国产日韩欧美| 韩国精品主播一区二区在线观看| 国产精品免费一区二区三区在线观看| 欧美精品三级| 欧美成人免费在线| 蜜臀91精品一区二区三区| 久久国产欧美精品| 午夜日韩电影| 亚洲在线视频| 亚洲午夜激情免费视频| 亚洲美女免费精品视频在线观看| 在线看国产日韩| 精品51国产黑色丝袜高跟鞋| 国产香蕉97碰碰久久人人| 国产精品一区久久久| 国产精品日本一区二区| 欧美午夜欧美| 欧美亚州一区二区三区| 欧美视频在线一区| 欧美色欧美亚洲另类七区| 欧美精品午夜| 欧美美女操人视频| 欧美精品在线观看播放| 欧美区视频在线观看| 欧美另类专区| 欧美日韩国产在线播放网站| 欧美日韩激情小视频| 欧美片第一页| 欧美日韩一区二区三区高清| 欧美日韩在线另类| 国产精品卡一卡二卡三| 国产日韩av一区二区| 国产偷自视频区视频一区二区| 国产日韩精品一区二区| 国产一区二区三区免费在线观看 |