grpc loader.defauts does not work to control the response value
I maintainer di solito rispondono entro 2 giorni
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 3/5
- Tempo stimato
- 1-2 giorni
- Idoneità per principianti
- 35/100
- Tipo di issue
- Bug
- Chiarezza
- Abbastanza chiara
- Stato di attività
- Ferma
- Stack tecnologico
- node.js, typescript
Direzione di ricerca
Inizia con la riproduzione minima collegata nella directory appx ed esegui pnpm i seguito da pnpm start:dev. Confronta il comportamento di loader.defaults tra i client gRPC elencati, quindi traccia il modo in cui il trasporto GRPC di NestJS passa le opzioni del loader a @grpc/proto-loader; il lavoro è concluso quando è stato stabilito se l'opzione debba controllare la risposta di ciascun client e viene aggiunto un test di regressione mirato se il repository ne contiene uno.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
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
- Lingua principale
- TypeScript
- Stelle
- 4.8k
- Fork
- 716
- Merge medio
- 1g 18h
- PR unite (30g)
- 17
Preparare l'ambiente
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di grpc/grpc-node
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 82/100
I maintainer di solito rispondono entro 2 giorni
-
package: @grpc/grpc-js
Difficoltà 2/5 1-3 ore Idoneità per principianti 62/100
grpc/grpc-node#2993 · 3 commenti · 4 reazioni ·
I maintainer di solito rispondono entro 2 giorni
-
Difficoltà 3/5 1-2 giorni Idoneità per principianti 65/100
grpc/grpc-node#3091 · 1 reazione ·
I maintainer di solito rispondono entro 2 giorni
-
feature request
Difficoltà 3/5 1-2 giorni Idoneità per principianti 68/100
grpc/grpc-node#3077 · 1 commento ·
I maintainer di solito rispondono entro 2 giorni
-
Difficoltà 3/5 1-2 giorni Idoneità per principianti 76/100
grpc/grpc-node#3068 · 2 commenti · 1 reazione ·
I maintainer di solito rispondono entro 2 giorni
Tutte le issue di grpc/grpc-node
Issue simili
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 88/100
openedx/frontend-app-authoring#3274 ·
I maintainer di solito rispondono entro 1 giorno
-
🎙️ task - fix(deployer): deploy --env prep runs deploy:dev where the repo declares deploy:prepAperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 88/100
-
area/documentation status/need-triage
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 95/100
google-gemini/gemini-cli#29548 ·
I maintainer di solito rispondono entro 1 giorno
-
sdk-typescript vector-store
Difficoltà 2/5 Mezza giornata Idoneità per principianti 82/100
mem0ai/mem0#7495 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 82/100
I maintainer di solito rispondono entro 1 giorno