我正在尝试测试一个非常简单的Express应用程序。我在typescript文件中设置了我的Express,如下所示,以响应它收到的请求正文:
app.listen(3000, () => console.log('Server running on port 3000'))
app.use(bodyParser.urlencoded({
extended: true
}))
app.use(bodyParser.json())
app.get('/test', (req, res) => {
res.send(req.body)
});
我试图在python文件中调用这个端点,如下所示
testUrl = 'http://localhost:3000'
path = '/test'
header = {
'Content-Type': 'application/json',
}
body = {
'artistName': 'test',
}
response = requests.request(
method="GET",
url = testUrl + path,
params=header,
data=body,
)
print(response._content)
当我运行python文件时,它输出的只是一组空括号,告诉我它接收的请求的主体是空的。如果我将数据参数设置为已填充的json对象,那么为什么正文是空的?我用错参数了吗?谢谢你的帮助
我认为你的错误在请求中
因为你正在发送你的头作为参数
我不知道在Express代码中使用
res.send(req.body)
是什么意思,但是在Express中,req.body
不用于GET请求。用于POST
或PUT
GET请求的参数作为queryString的一部分放在URL中,并将出现在Express中的
req.query
对象中相关问题 更多 >
编程相关推荐