0

我们有一个服务正在调用我们的nestjs 微服务,其标头Content-Type: application/x-www-form-urlencoded似乎没有按预期解析。

如果我们也从一个干净的 nestjs 项目开始,并将这段代码放在AppController中

  @Post()
  async store(@Body() request: any) {
    console.log('request', request);
  }

如果我们以这种方式使用 curl 向服务发送数据:

curl -d '{"abc": 123 }' -H 'Content-Type: application/x-www-form-urlencoded' -X POST http://localhost:3000

最后我们的console.log显示我们没有有效的json,body的全部内容都放在了请求json的第一个参数中,这导致了这个

request { '{"abc": 123 }': '' }

正如您所看到的,内容没有被正确解析为 json,文档没有显示很多解析器,但是谷歌搜索这应该可以解决问题

有人可以帮忙吗?

4

1 回答 1

2

要么发帖

  • URL 编码数据并声称它是 URL 编码数据
  • JSON 编码数据并声称它是 JSON 编码数据

您发布 JSON 并声称它是 URL 编码的,这是没有意义的。

于 2021-02-09T16:33:34.757 回答