亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

body-parser怎么在node.js中使用

發布時間:2021-04-02 17:14:13 來源:億速云 閱讀:612 作者:Leah 欄目:web開發

本篇文章為大家展示了body-parser怎么在node.js中使用,內容簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細介紹希望你能有所收獲。

Node中的核心模塊分兩類:一類是自帶的核心模塊,如http、tcp等,第二類是第三方核心模塊,express就是與http對應的第三方核心模塊,用于處理http請求。express在3.0版本中自帶有很多中間件,但是在express 4.0以后,就將除static(靜態文件處理)以外的其他中間件分離出來了;在4.0以后需要使用中間件時,就需要單獨安裝好相應的中間件以后調用,以下3.0與4.0中間件的中間件區別(3.0是內置中間件屬性名,4.0是需要安裝的中間件名稱):

Express 3.0 Name

Express 4.0 Name

bodyParser

body-parser

compress

compression

cookieSession

cookie-session

logger

morgan

cookieParser

cookie-parser

session

express-session

favicon

static-favicon

response-time

response-time

error-handler

errorhandler

method-override

method-override

timeout

connect-timeout

vhost

vhost

csrf

csurf

body-parser

我是在學習nodejs時候,對著書本的例子時,使用bodyParser這個中間件,在終端運行出問題,報錯大概意思也是express4.0中沒有bodyParser這個內置中間件了,還給了body-parser的GitHub源代碼地址:https://github.com/expressjs/body-parser.

經過看源代碼下面的說明知道了body-parser的三種用法:

在講用法之間,我們需要弄清楚下面四個不同的處理方法:這四個處理方法分別對body的內容采用不同的處理方法;分別是處理json數據、Buffer流數據、文本數據、UTF-8的編碼的數據。

bodyParser.json(options)bodyParser.raw(options) bodyParser.text(options) bodyParser.urlencoded(options)

以下是它的三種用法:

1、底層中間件用法:這將攔截和解析所有的請求;也即這種用法是全局的。

var express = require('express')
var bodyParser = require('body-parser')
 
var app = express()
 
// parse application/x-www-form-urlencoded
app.use(bodyParser.urlencoded({ extended: false }))
 
// parse application/json
app.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))
})

express的use方法調用body-parser實例;且use方法沒有設置路由路徑;這樣的body-parser實例就會對該app所有的請求進行攔截和解析。

2、特定路由下的中間件用法:這種用法是針對特定路由下的特定請求的,只有請求該路由時,中間件才會攔截和解析該請求;也即這種用法是局部的;也是最常用的一個方式。

var express = require('express')
var bodyParser = require('body-parser')
 
var app = express()
 
// create application/json parser
var jsonParser = bodyParser.json()
 
// create application/x-www-form-urlencoded parser
var urlencodedParser = bodyParser.urlencoded({ extended: false })
 
// POST /login gets urlencoded bodies
app.post('/login', urlencodedParser, function (req, res) {
 if (!req.body) return res.sendStatus(400)
 res.send('welcome, ' + req.body.username)
})
 
// POST /api/users gets JSON bodies
app.post('/api/users', jsonParser, function (req, res) {
 if (!req.body) return res.sendStatus(400)
 // create user in req.body
})

express的post(或者get)方法調用body-parser實例;且該方法有設置路由路徑;這樣的body-parser實例就會對該post(或者get)的請求進行攔截和解析。

3、設置Content-Type 屬性;用于修改和設定中間件解析的body類容類型。

// parse various different custom JSON types as JSON
app.use(bodyParser.json({ type: 'application/*+json' });

// parse some custom thing into a Buffer
app.use(bodyParser.raw({ type: 'application/vnd.custom-type' }));

// parse an HTML body into a string
app.use(bodyParser.text({ type: 'text/html' }));

上述內容就是body-parser怎么在node.js中使用,你們學到知識或技能了嗎?如果還想學到更多技能或者豐富自己的知識儲備,歡迎關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

望城县| 乌兰县| 新民市| 泰安市| 呼和浩特市| 肃北| 岗巴县| 吉隆县| 永修县| 昌都县| 蕉岭县| 阜平县| 琼结县| 正镶白旗| 泸定县| 二连浩特市| 新津县| 米脂县| 江山市| 安陆市| 灵川县| 九寨沟县| 蓝田县| 南川市| 云南省| 神木县| 秦安县| 武山县| 大姚县| 阳山县| 德清县| 巩留县| 武冈市| 怀来县| 都江堰市| 古田县| 新宾| 宝山区| 雅江县| 新巴尔虎左旗| 泽普县|