Postman 邮递员在邮寄请求中没有发送任何东西
我正试图通过POSTMAN(通过FE)测试/login API,但没有 显示身体部位的任何内容,即使我正在发送身体数据 但是当打印来自BE的请求时,正文是空的Postman 邮递员在邮寄请求中没有发送任何东西,postman,http-post,Postman,Http Post,我正试图通过POSTMAN(通过FE)测试/login API,但没有 显示身体部位的任何内容,即使我正在发送身体数据 但是当打印来自BE的请求时,正文是空的 .... body: {}, .... 与使用FE时不同: .... body: {data: { username: 'admin', password: 'admin' }}, .... 知道发生了什么吗?如果需要提供任何其他信息,请告诉我 我知道它正在通过,因为服务器响应500和消息 TypeError
....
body: {},
....
与使用FE时不同:
....
body: {data: { username: 'admin', password: 'admin' }},
....
知道发生了什么吗?如果需要提供任何其他信息,请告诉我
我知道它正在通过,因为服务器响应500和消息
TypeError:无法读取未定义的属性“username”
奇怪的是,我发送的数据在请求对象中根本找不到:(
编辑:
以下是我在FE中的称呼:
返回axios.post('login',{data:user})
用户是:
user: {
username: 'admin',
password: 'admin'
}
所以格式应该是正确的
data: {
username: 'admin',
password: 'admin'
}
因为这就是我在BE端访问它的方式
req.body.data.username
编辑2:
极为罕见的怪异部分是,这个笑话很管用:)
这个测试通过了。。。。f**k我,伙计们。。发生了什么?正文的语法看起来像JSON,但您已经将正文的类型指定为“原始文本”。这会将请求的内容类型头设置为“text/plain”,这可能会导致后端无法实际读取正文(因为它需要一个JSON对象)
只需从“Text”切换到“JSON”,将当前正文用大括号括起来(这样实际上就是发送一个带有数据属性集的JSON对象),然后再次尝试发送请求。这次内容类型标题将正确设置为“application/json”,您的后端将成功读取数据。当然,我也尝试过。。但也没有运气
SyntaxError:JSON中位置6处的意外标记d
…啊,很抱歉,您还需要将单词“data”用双引号括起来,否则它将作为标记(而不是字符串)读取。我这样做了:){data:{“username”:“admin”,“password”:“admin”}
您的示例没有显示数据周围的双引号,它应该是这样的:{“data”:{“username”:“admin”,“password”:“admin”}
。这具尸体还有其他错误吗?还是一样的。。。我试过有,没有,单人,双人。。。一切都以相同的错误结束,无法读取代码>。。。但是为什么我发送的数据根本不在请求中?我是说。。我不太在乎他们不在体内。。但是他们哪儿也没有!
const creds = {
data: {
username: 'admin',
password: 'admin'
}
}
return request(app)
.post("/api/v1/login")
.send(creds)
.expect(200)
.then(res => {
expect(res.body).toMatchSnapshot()
})