NestJS Body() не заполняется информацией о запросе в сочетании с бессерверным

#serverless #nestjs

#бессерверный #nestjs

Вопрос:

При запуске SLS в автономном режиме или SLS Deploy декоратор тела в nest не заполняется передаваемым объектом.

Я собрал небольшое репозиторий для изучения проблемы для всех заинтересованных.

 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:UsersClaridgicusAppDataRoamingnpmnode_modulesserverlessnode_modulescore-jsmodules_collection-to-json.js:6:38)
    at Function.<anonymous> (c:UsersClaridgicusAppDataRoamingnpmnode_modulesserverlessnode_modulescore-jsmodules_ctx.js:18:15)
    at JSON.stringify (<anonymous>)
    at Function.stringify [as default] (c:UsersClaridgicuscodeserverless-nestjs-masternode_modulesfast-safe-stringifyindex.js:11:18)
    at ModuleTokenFactory.getDynamicMetadataToken (c:UsersClaridgicuscodeserverless-nestjs-masternode_modules@nestjscoreinjectormodule-token-factory.js:20:69)
    at ModuleTokenFactory.create (c:UsersClaridgicuscodeserverless-nestjs-masternode_modules@nestjscoreinjectormodule-token-factory.js:12:27)
    at ModuleCompiler.compile (c:UsersClaridgicuscodeserverless-nestjs-masternode_modules@nestjscoreinjectorcompiler.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
  

Ответ №1:

Итак

После долгих поисков я дважды проверил свои заголовки во входящем запросе

При входящем запросе POST от fed — дважды проверьте, что вы устанавливаете заголовки — и сэкономьте пару часов в отличие от меня 🙂

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