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

问题描述 投票:0回答:2

我正在尝试测试一个非常简单的Express App。我在打字稿文件中设置了我的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文件时,它打印出的所有内容都是一组空括号,告诉我它正在接收的请求的内容为空。如果将data参数设置为已填充的json对象,为什么主体为空?我使用了错误的参数吗?感谢您的帮助!

python express python-requests http-get
2个回答
0
投票
我不知道您要在Express代码中使用res.send(req.body)表示什么,但是req.body不在Express中用于GET请求。用于POSTPUT

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


0
投票
我认为您的错误是在请求中,

因为您将标头作为参数发送

最新问题
© www.soinside.com 2019 - 2024. All rights reserved.