Postman 邮递员在邮寄请求中没有发送任何东西

Postman 邮递员在邮寄请求中没有发送任何东西,postman,http-post,Postman,Http Post,我正试图通过POSTMAN(通过FE)测试/login API,但没有 显示身体部位的任何内容,即使我正在发送身体数据 但是当打印来自BE的请求时,正文是空的 .... body: {}, .... 与使用FE时不同: .... body: {data: { username: 'admin', password: 'admin' }}, .... 知道发生了什么吗?如果需要提供任何其他信息,请告诉我 我知道它正在通过,因为服务器响应500和消息 TypeError

我正试图通过POSTMAN(通过FE)测试/login API,但没有 显示身体部位的任何内容,即使我正在发送身体数据

但是当打印来自BE的请求时,正文是空的

  ....
  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()
      })