Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

257
Visualizações
nestjs con microservicios grpc no devuelve matrices vacías

Llamo al servicio a través de grpc en nest js y cuando devuelve una matriz vacía, la propiedad no se devuelve en el objeto

 @Get() @Public() async findAll( @Query() request: PaginationQuery, ) { try { const res$ = this.svc.getAll(request); const { error, ...rest } = await firstValueFrom(res$); if (error) { throw new BadRequestException(error); } return rest; } catch (e) { this.logger.error(e); return new InternalServerErrorException(e); } }

Registré el resultado antes de que volviera al servicio de atención al cliente.

 { "id": "457a508b-f19a-4c77-b8a2-bb4004b9277b", "name": "plan1", "key": "plan1", "price": 20, "yearlyDiscountRate": 0.2, "trialDays": 14, "isRecommended": true, "isLegacy": false, "features": [] }

pero cuando volvió al cliente a través de grpc fue

 { "id": "457a508b-f19a-4c77-b8a2-bb4004b9277b", "name": "plan1", "key": "plan1", "price": 20, "yearlyDiscountRate": 0.2, "trialDays": 14, "isRecommended": true, "isLegacy": false }

no se encontró la clave de features con la matriz vacía.

Probé algunas cosas como agregar un cargador con arrays:true

 const app = await NestFactory.createMicroservice<MicroserviceOptions>( SubscriptionsModule, { transport: Transport.GRPC, options: { url: '0.0.0.0:50052', package: protobufPackage, protoPath: join(process.cwd(), 'libs/proto/src/subscriptions.proto'), loader: { arrays: true, }, }, }, );

pero aún no devuelve la propiedad con una matriz vacía

about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

Encontré la respuesta que era de la línea

 if (error) { throw new BadRequestException(error); }

when arrays: true la condición if es verdadera y genera un error. resuelto con

 if (error?.length) { throw new BadRequestException(error); }
about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda