Node.js 如何在express中使用原始中间件
我尝试了以下代码片段:Node.js 如何在express中使用原始中间件,node.js,express,curl,Node.js,Express,Curl,我尝试了以下代码片段: //index.js const express = require("express") const app = express() app.post("/", express.raw(), (req, res) => { console.log(req.body) res.write(req.body.toString()) res.send() }) app.listen(4000) curl localhost:4000-X“
//index.js
const express = require("express")
const app = express()
app.post("/", express.raw(), (req, res) => {
console.log(req.body)
res.write(req.body.toString())
res.send()
})
app.listen(4000)
curl localhost:4000-X“POST”-d“foo”
如果我用curl调用端点,req.body
中没有数据。我错在哪里?我的意思是express.raw
中间件在哪里存储数据?在req.body
中,不是吗
程序的控制台输出:
对象{}
旋度反应:
[对象]%
您可以使用这种替代方法。这具有相同的功能
index.js
Curl命令
终点站
是的,这就是答案。我必须添加内容类型,并将中间件更改为
express.text()
。非常感谢。
const express = require("express")
const app = express()
app.use(express.text())
app.post("/", (req, res) => {
console.log(req.body)
res.write(req.body.toString())
res.send()
})
app.listen(4000)
curl localhost:4000 -H "Content-Type:text/plain" -X "POST" -d "foo"
foo