mfridman/grpc-gateway — explained in plain English
Analysis updated 2026-08-07 · repo last pushed 2025-06-18
Expose a JSON REST API from your gRPC backend so web frontends and third parties can consume it without gRPC support.
Generate OpenAPI (Swagger) documentation for your gRPC services automatically so external developers can discover and test endpoints.
Keep gRPC and REST interfaces in sync by defining your API once in Protocol Buffers with HTTP annotations.
Support clients that cannot natively speak gRPC by placing a translation proxy in front of your microservices.
| mfridman/grpc-gateway | 0verflowme/cloudflared | 0verflowme/pulumi-vultr | |
|---|---|---|---|
| Language | Go | Go | Go |
| Last pushed | 2025-06-18 | 2024-10-19 | 2022-12-26 |
| Maintenance | Stale | Stale | Dormant |
| Setup difficulty | moderate | moderate | hard |
| Complexity | 3/5 | 2/5 | 3/5 |
| Audience | developer | developer | ops devops |
Figures from each repo's GitHub metadata at analysis time.
Requires Protocol Buffers definitions and a basic understanding of gRPC service structure before you can generate the proxy.
gRPC-Gateway is a tool that lets you offer a traditional, JSON-based REST API alongside a modern gRPC API without building and maintaining two separate codebases. It automatically generates a proxy server that sits in front of your application, translating incoming RESTful web requests into the gRPC format your backend understands, and then translates the responses back to JSON. At a high level, the tool works by reading your service definitions written in Protocol Buffers, a language-agnostic way to describe data. You add small annotations to these definitions to map specific web URLs and HTTP methods (like a POST request to /v1/example) to your internal functions. The tool then generates a reverse-proxy server that handles the translation automatically. If you cannot modify the original definition files, you can also configure these URL mappings using an external file. This is primarily used by backend teams who want the performance and developer experience of gRPC internally, but need to support external clients or tools that expect a standard REST API. For example, a team might build an internal microservice architecture using gRPC for speed, but use this tool to expose a JSON API to a web frontend, a third-party integration partner, or tools that don't support gRPC natively. It also generates OpenAPI (Swagger) documentation, making it easy for outside developers to understand and test the available endpoints. A notable tradeoff of this approach is that it relies on generated code and proxy architecture rather than hand-writing HTTP endpoints. This means you define your API once, ensuring both the gRPC and REST interfaces stay perfectly in sync. The project also provides signed release binaries, allowing teams to securely verify that the downloaded code hasn't been tampered with.
gRPC-Gateway auto-generates a proxy that translates REST JSON requests into gRPC calls, so you can offer both API styles from a single codebase without maintaining duplicate endpoints.
Mainly Go. The stack also includes Go, Protocol Buffers, gRPC.
Stale — no commits in 1-2 years (last push 2025-06-18).
Use freely for any purpose, including commercial use, as long as you keep the copyright notice.
Setup difficulty is rated moderate, with roughly 30min to a first successful run.
Mainly developer.
This repo across BitVibe Labs
Verify against the repo before relying on details.