Comment puis-je vérifier le fonctionnement du serveur gRPC? .. .. Présentation du grpcurl auquel je suis arrivé après avoir étudié diverses choses. Il semble qu'il existe diverses fonctions, mais seules certaines d'entre elles seront introduites.
** Environnement confirmé **
Configuration du serveur gRPC
Environnement de développement
https://github.com/fullstorydev/grpcurl C'est un outil qui peut réaliser l'interaction avec le serveur gRPC comme une commande curl. Lorsque vous exécutez la commande, la réponse du serveur gRPC sera renvoyée au format json.
Les détails sont écrits dans le lien, donc je pense que vous pouvez simplement le lire.
Vous devez installer go.
** Télécharger-Installer ** https://golang.org/dl/ Veuillez télécharger celui qui convient à votre environnement depuis ce site. Pour Windows, vous pouvez le compléter sans aucun problème en suivant les instructions de l'installateur.
** Vérifier les paramètres ** Pour Windows, les éléments suivants ont été ajoutés aux variables d'environnement:
** Confirmation d'installation **
Tapez go version à l'invite de commande et si les informations de version s'affichent, l'installation est terminée.
> go version
** Télécharger-Installer **
Tout ce que vous avez à faire est d'exécuter la commande suivante.
> go get github.com/fullstorydev/grpcurl
> go install github.com/fullstorydev/grpcurl/cmd/grpcurl
La commande grpcurl sera installée dans le sous-dossier bin de l'emplacement spécifié dans la variable d'environnement $ GOPATH confirmée précédemment. Par défaut,% GOPATH% bin est spécifié pour Path, vous devriez donc pouvoir l'exécuter immédiatement à partir de l'invite de commande. Si vous ne pouvez pas l'exécuter, veuillez vérifier la spécification du chemin.
** Confirmation d'installation **
Si vous pouvez exécuter la commande suivante, l'installation de grpcurl est terminée.
> grpcurl -help
Activez la fonction de réflexion sur le serveur gRPC.
Si vous utilisez grpc-spring-boot-starter, ajoutez simplement les paramètres suivants à application.yml.
application.yml
grpc:
enable-reflection: true
Remarque: non pris en charge par certaines versions de grpc-spring-boot-starter. (2.3.2 ~)
Si vous n'utilisez pas de démarreur, vous pouvez suivre les étapes ci-dessous. (non confirmé) https://github.com/grpc/grpc-java/blob/master/documentation/server-reflection-tutorial.md
Maintenant, vous êtes prêt à partir.
// coming soon ...
Démarrez le serveur gRPC dont le fonctionnement doit être vérifié.
> grpcurl -plaintext localhost:6565 list
-plaintext Vous pouvez vérifier l'opération en mode texte brut. S'il est omis, il peut être confirmé par TLS.
localhost:6565 Spécifiez le nom d'hôte et le numéro de port du serveur gRPC.
Une fois exécuté, la liste des services côté serveur sera affichée comme indiqué ci-dessous.
Résultat d'exécution
> grpcurl -plaintext localhost:6565 list
helloworld.HelloWorldService
goodbyeworld.GoodByeWorldService
grpc.health.v1.Health
grpc.reflection.v1alpha.ServerReflection
> grpcurl -plaintext localhost:6565 list helloworld.HelloWorldService
helloworld.HelloWorldService Spécifiez le nom du service après la commande pour obtenir la liste des services.
Résultat d'exécution
> grpcurl -plaintext localhost:6565 list helloworld.HelloWorldService
Greeting
> grpcurl -plaintext localhost:6565 helloworld.HelloWorldService/Greeting
helloworld.HelloWorldService/Greeting Spécifiez le nom du service / le nom de la méthode confirmé dans la liste.
Une fois exécuté, le résultat sera affiché au format json.
Résultat d'exécution
> grpcurl -plaintext localhost:6565 helloworld.HelloWorldService/Greeting
{
"message": "Hello World!"
}
> grpcurl -plaintext -d '{"lang":"Java"}' localhost:6565 helloworld.HelloWorldService/Greeting
Vous pouvez écrire les paramètres au format json après -d. Il a été écrit sur le site, mais cela n'a pas fonctionné car le guillemet simple était en colère: cold_sweat:. Donc. .. ..
> grpcurl -plaintext -d @ localhost:6565 helloworld.HelloWorldService/Greeting
J'ai essayé cela parce que la méthode selon laquelle vous pouvez entrer le paramètre avec STDIN en spécifiant '@' après l'introduction de -d.
> grpcurl -plaintext -d @ localhost:6565 helloworld.HelloWorldService/Greeting
{
"lang": "Java"
}
EOM
EOM Vous pouvez entrer avec Ctrl + Z sous Windows et Ctrl + D sous Unix. Il s'affiche sous la forme «^ Z» à l'invite de commande Windows.
Quand je l'ai couru, le résultat était excellent. : détendu:
Résultat d'exécution
> grpcurl -plaintext -d @ localhost:6565 helloworld.HelloWorldService/Greeting
{
"lang": "Java"
}
^Z
{
"message": "Hello Java World!"
}
Si vous souhaitez afficher le résultat sous forme de fichier, il ressemble à ceci.
grpcurl -plaintext localhost:6565 helloworld.HelloWorldService/Greeting > GreetingResult.json
GreetingResult.json
{
"message": "Hello World!"
}
fin