为什么我们需要快速身体解析器?

时间:2017-07-24 16:41:17

标签: node.js express body-parser

我遇到了许多博客和文章,他们建议使用正文解析器来解析请求正文数据。有没有办法解析数据或从身体获取身体数据而不使用任何中间件?

2 个答案:

答案 0 :(得分:2)

默认情况下,express只是在req参数中为原始HTTP请求体提供IncomingMessage,它基本上是Readable流。例如,当您发出表单POST请求时,表单可能会以various ways if made by a web browser编码,或者可能是JSON或某种任意格式。 body-parser模块知道如何读取HTTP请求正文并理解各种常见编码的特定列表。

Express主要是一个非常简单的框架,用于将中间件连接在一起并为您的应用程序声明路由。通过做很少的事情并且做得非常好,它可以被更多人使用,并且可以使用。例如,如果您想在HTTP请求中发送自己的格式,则可能需要编写自己的代码而不是使用body-parser。一些HTTP服务器框架具有烘焙等效功能。在这样的框架中,扩展主体解析功能甚至不可能是困难/困惑的。 Express项目建议body-parser,但是如果有一个不同的模块以你更喜欢的方式解析身体,你可以随时使用它。

答案 1 :(得分:0)

Express中间件是一个不受限制的Web框架,因此,如果您想将结果解析为JSON / form / multipart,则需要告诉Express如何解析正文。

主体解析器到了,您应该使用它,因为将主体解析为JSON或其他内容是您的要求,直到您的请求主体始终是流。