grpc loader.defauts does not work to control the response value
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
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
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
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de grpc/grpc-node
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 82/100
Los mantenedores suelen responder en 1 día
-
package: @grpc/grpc-js
Dificultad 2/5 1-3 horas Aptitud para principiantes 62/100
grpc/grpc-node#2993 · 3 comentarios · 4 reacciones ·
Los mantenedores suelen responder en 1 día
-
Dificultad 3/5 1-2 días Aptitud para principiantes 65/100
grpc/grpc-node#3091 · 1 reacción ·
Los mantenedores suelen responder en 1 día
-
feature request
Dificultad 3/5 1-2 días Aptitud para principiantes 68/100
grpc/grpc-node#3077 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
Dificultad 3/5 1-2 días Aptitud para principiantes 76/100
grpc/grpc-node#3068 · 2 comentarios · 1 reacción ·
Los mantenedores suelen responder en 1 día
Todos los issues de grpc/grpc-node
Issues similares
-
bug
Dificultad 1/5 Menos de una hora Aptitud para principiantes 88/100
StabilityNexus/Fate-EVM-Frontend#153 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
code-yeongyu/oh-my-openagent#9039 ·
Los mantenedores suelen responder en 1 día
-
bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 84/100
Tencent/teamai-cli#862 ·
Los mantenedores suelen responder en 1 día
-
bug good first issue hacktoberfest redis
Dificultad 2/5 1-3 horas Aptitud para principiantes 88/100
libredb/libredb-studio#1164 ·
Los mantenedores suelen responder en 1 día
-
flake
Dificultad 2/5 1-3 horas Aptitud para principiantes 85/100
coder/xum#4920 · 2 comentarios ·
Los mantenedores suelen responder en 1 día