我遇到了很多博客和文章,他们建议使用 body-parser 来解析请求正文数据。有没有办法在不使用任何中间件的情况下解析数据或从正文获取正文数据?
默认情况下,express 只为您提供原始 HTTP 请求正文req
论证作为IncomingMessage https://nodejs.org/api/http.html#http_class_http_incomingmessage这基本上是一个Readable https://nodejs.org/api/stream.html#stream_class_stream_readable溪流。例如,当您发出表单 POST 请求时,表单可能会被编码为如果是通过网络浏览器制作的,有多种方式 https://www.w3.org/TR/html5/forms.html#attr-fs-enctype或者它可能是 JSON 或某种任意格式。这body-parser
模块知道如何读取 HTTP 请求正文并理解各种常见编码的特定列表。
Express 主要是一个非常简单的框架,用于将中间件连接在一起并为应用程序声明路由。通过做得很少并且做得很好,它就不会受到任何意见的影响,并且可以被更多的人使用。例如,如果您想在 HTTP 请求中发送您自己的格式,您可能需要编写自己的代码,而不是使用body-parser
。一些 HTTP 服务器框架有一个内置的等效框架。在这样的框架中,扩展主体解析功能可能很困难/令人困惑,甚至是不可能的。 Express 项目建议body-parser
,但是如果有一个不同的模块可以以您更喜欢的方式解析正文,您可以随时使用它。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)