Spring Boot and Java deep dives
Products REST BFF over gRPC
A review of an existing Spring Boot gRPC + REST project, with best-practice fixes and a Postgres backing store.
View code on GitHubProblem
An existing Spring Boot project exposed /api/products over REST by calling a gRPC service.
Before building on it, I wanted to check it against best practices.
Scope
- Review the codebase and list issues
- Fix the top four findings
- Map gRPC status codes to HTTP
ProblemDetail - Set deadlines on every gRPC client call
- Add a Postgres database in Docker
Tech stack
Spring Boot with spring-boot-starter-grpc-client, Gradle, Docker Compose, and Postgres.
Changelog
- 2026-09-16: First commit
- 2026-09-23: Review, fixes, and Postgres added