与无服务器结合使用时,NestJs Body() 不会填充请求信息

NestJs Body() is not populating with request information when coupled with serverless

当 运行 SLS Offline 或 SLS Deploy 时,nest 中的主体装饰器未填充传递的对象。

我已经收集了一个小的 repo 来为任何感兴趣的人调查这个问题。

https://gitlab.com/claridgicus/nest-serverless-body-issue

SLS 离线输出

[Nest] 91880   - 2019-04-24 20:58   [ExceptionHandler] Map#toJSON isn't generic +5ms
TypeError: Map#toJSON isn't generic
    at String.toJSON (c:\Users\Claridgicus\AppData\Roaming\npm\node_modules\serverless\node_modules\core-js\modules\_collection-to-json.js:6:38)
    at Function.<anonymous> (c:\Users\Claridgicus\AppData\Roaming\npm\node_modules\serverless\node_modules\core-js\modules\_ctx.js:18:15)
    at JSON.stringify (<anonymous>)
    at Function.stringify [as default] (c:\Users\Claridgicus\code\serverless-nestjs-master\node_modules\fast-safe-stringify\index.js:11:18)
    at ModuleTokenFactory.getDynamicMetadataToken (c:\Users\Claridgicus\code\serverless-nestjs-master\node_modules\@nestjs\core\injector\module-token-factory.js:20:69)
    at ModuleTokenFactory.create (c:\Users\Claridgicus\code\serverless-nestjs-master\node_modules\@nestjs\core\injector\module-token-factory.js:12:27)
    at ModuleCompiler.compile (c:\Users\Claridgicus\code\serverless-nestjs-master\node_modules\@nestjs\core\injector\compiler.js:19:47)
    at <anonymous>
    at process._tickDomainCallback (internal/process/next_tick.js:228:7)
 1: std::vector<v8::CpuProfileDeoptFrame,std::allocator<v8::CpuProfileDeoptFrame> >::vector<v8::CpuProfileDeoptFrame,std::allocator<v8::CpuProfileDeoptFrame> >
 2: v8::internal::wasm::SignatureMap::Find
 3: v8::internal::Builtins::CallableFor
 4: v8::internal::Builtins::CallableFor
 5: v8::internal::Builtins::CallableFor
 6: 0000006B886843C1

所以

经过大量探索 - 我仔细检查了传入请求

中的 headers

关于来自美联储的传入 POST 请求 - 仔细检查您正在设置 headers - 不像我那样节省几个小时 :)

    headers: {
        "Content-Type": "application/json"
    },