Exemplo de uso de ExceptionHandler gRPC com Spring Boot
- Spring Boot 2.4.5;
- Java 11;
- gRPC-Spring-Boot-Starter para suporte do Spring Boot ao gRPC
-
Tenha instalado em sua máquina um client RPC como BloomRPC ou Insomnia para fazer as requisições;
-
Clone o repositório e na guia de plugins do Maven execute o protobuf:compile e protobuf:compile-custom para que os stubs gRPC sejam gerados;
-
Execute a aplicação (por padrão o servidor estará alocado em localhost:9090);
-
Abra o seu client RPC de preferência e importe o arquivo .proto que está na pasta src/main/proto/create-person.proto;
-
Preencha o payload de requisição conforme exemplo:
{
"name": {
"value": "Any Name Here"
},
"email": {
"value": "anymail@mail.com"
}
}
- A primeira requisição retornará sucesso, desde que nenhum campo vazio seja informado:
- Se a mesma requisição for feita novamente um erro de AlreadyExistsException será apresentado, pois há essa validação no projeto:
Este erro está sendo capturado na classe gRPC ExceptionHandler.
Para mais detalhes, consulte a documentação da biblioteca: gRPC-Spring-Boot-Starter