为什么我的请求主体没有正确填充

2024-06-02 08:11:44 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试测试一个非常简单的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对象,那么为什么正文是空的?我用错参数了吗?谢谢你的帮助


Tags: 文件pathtestjsonapp应用程序useresponse
2条回答

我认为你的错误在请求中

因为你正在发送你的头作为参数

我不知道在Express代码中使用res.send(req.body)是什么意思,但是在Express中,req.body不用于GET请求。用于POSTPUT

GET请求的参数作为queryString的一部分放在URL中,并将出现在Express中的req.query对象中

相关问题 更多 >