Hacktoberfest 2026: los issues que los mantenedores marcaron para octubre, abiertos y aptos para principiantes. Explorar issues de Hacktoberfest

grpc loader.defauts does not work to control the response value

Abierto
#2,949 4 comentarios 0 reacciones 0 asignados Ver en GitHub

Los mantenedores suelen responder en 1 día

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
3/5
Tiempo estimado
1-2 días
Aptitud para principiantes
35/100
Tipo de issue
Error
Claridad
Bastante claro
Estado de actividad
Estancado
Stack tecnológico
node.js, typescript
Área
api, backend

Línea de trabajo

Comienza con la reproducción mínima enlazada en el directorio appx y ejecuta pnpm i seguido de pnpm start:dev. Compara el comportamiento de loader.defaults entre los clientes gRPC indicados y, a continuación, rastrea cómo el transporte GRPC de NestJS pasa las opciones del loader a @grpc/proto-loader; se considera terminado cuando se haya establecido si la opción debe controlar la respuesta de cada cliente y se haya añadido una prueba de regresión específica si el repositorio contiene una.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

package: @grpc/proto-loader
Current behavior

we want to get such response from grpc api

{
    "code": 0,
    "statusCode": 1,
    "data": {
        "nullValue": null,
        "zeroValue": 0,
        "message": "great"
    }
}

so we overwrite the options.loader.defaults to get the zero value code item as follows:

app.connectMicroservice(
    {
      transport: Transport.GRPC,
      options: {
        url: '0.0.0.0:6000', // gRPC 服务的地址和端口
        package: 'hello', // proto 文件中的 package 名称
        protoPath: join(__dirname, '../proto/hello.proto'), // proto 文件路径
        loader: {
          defaults: true, // expected to get the zero value code in response
          arrays: true,
          objects: true,
          json: true,
        },
      },
    },

but we when I tested the result, I get confused because the result are not the same rule.

  • with Postman we always get the zero value code in response whether loader.defaults is true
  • with GRPC Client code we always get the zero value code in response whether loader.defaults is true
  • with grpcurl we always cannot get the zero value code in response whether loader.defaults is true
  • with Jetbrains HTTPClient we always cannot get the zero value code in response whether loader.defaults is true
Minimum reproduction code

https://github.com/rawbin-/nest-grpc-test/tree/main/appx

Steps to reproduce
pnpm i
pnpm start:dev

test with any grpc client tool

Expected behavior

loader.defaults can control the result

Packages versions
"@grpc/grpc-js": "^1.13.3",
    "@grpc/proto-loader": "^0.7.15",
    "@nestjs/common": "^10.0.0",
    "@nestjs/core": "^10.0.0",
    "@nestjs/microservices": "^11.1.0",
    "@nestjs/platform-express": "^10.0.0",
    "grpc": "^1.24.11",
    "reflect-metadata": "^0.2.0",
    "rxjs": "^7.8.1"
Node.js version

v18.20.7

In which operating systems have you tested?
  • macOS
  • Windows
  • Linux
Lenguaje dominante
TypeScript
Estrellas
4.8k
Forks
716
Merge medio
2 d 3 h
PR fusionados (30 d)
10

Preparar el entorno

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de grpc/grpc-node

Todos los issues de grpc/grpc-node

Issues similares

Más issues de TypeScript

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.