bodyparser解析gzip和json两种类型的HTTP POST请求体

时间:2018-03-27 16:44:37

标签: javascript node.js express http-post body-parser

我创建了一个API端点来处理来自客户端的http POST请求。 目前Express框架和bodyParser处理请求体。如何使用正文解析器来处理可能是压缩Json对象或普通Json对象的请求主体的情况。

bodyParser json解析器只会在请求标头中的Content-Type和下面的类型都相同时处理请求。

bodyParser.json({type: 'application/gzip'}) 

bodyParser.json({type: 'application/json'})

bodyParser有没有办法在API端点处理这两种情况? 任何帮助表示赞赏。

1 个答案:

答案 0 :(得分:1)

实际上,不用担心 我能弄清楚这将如何发生。 我可以让bodyParser同时处理gzip和json POST有效负载体。

app.use(bodyParser.json({type: 'application/gzip'}))
app.use(bodyParser.json({type: 'application/json'}))

如果请求标头中的Content-Typeapplication/gzip

,则第一个解析器将处理

如果请求标头中的Content-Typeapplication/json

,则第二个将处理