一、前沿
body-parser
作为Express
中间件,其作用是解析 http
请求体中的 body 数据,将数据解析成对象后绑定到req.body中。
二、基本使用
// express3.x版本集成了body-parser
const express = require('express')
const bodyParser = require('bodyParser')
const app = new express()
/**
* 默认采用bodyParser解析json、urlencoded类型body
*/
app.use(bodyParser())
/**
* 解析 application/json类的body
* express.json == bodyParser.json
*/
app.use(express.json())
/**
* 解析 application/x-www-form-urlencoded 类的body
* express.urlencoded === bodyParser.urlencoded
*/
app.use(express.urlencoded({
extended: false }))
三、名词解析
HTTP请求报文与实体中几个相关的概念
1. 指定头部资源的类型 Content-Type
Content-Type
用于指定资源的MIME类型
// application/json;为资源的MIME类型
// chatset指定字符的编码
Content-Type: application/json; charset=utf-8;
HTTP常见的MIME类型有:application/json
、text/html
、application/x-www-form-urlencoded
2. 传输编码 Content-Encoding
Content-Encoding
列出当前实体消息的人和编码类型,以及编码顺序。用于压缩消息数据
// gzip、deflate说明采用的压缩算法
Content-Encoding: gzip,compress,deflate,br
四、模块分析
一、options
选项
bodyParser.json(options)
- inflate : 设置为true