grpc-gateway
google.aip.dev
Our great sponsors
grpc-gateway | google.aip.dev | |
---|---|---|
30 | 1 | |
17,367 | 991 | |
1.4% | 1.3% | |
9.8 | 8.3 | |
2 days ago | 3 days ago | |
Go | Shell | |
BSD 3-clause "New" or "Revised" License | GNU General Public License v3.0 or later |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
grpc-gateway
-
I write HTTP services in Go after 13 years (Mat Ryer, 2024)
it lacks flexibility but i really enjoy grpc-gateway for 99% of my work
https://github.com/grpc-ecosystem/grpc-gateway
-
Create Production-Ready SDKs With gRPC Gateway
gRPC Gateway is a protoc plugin that reads gRPC service definitions and generates a reverse proxy server that translates a RESTful JSON API into gRPC.
-
Ask HN: Rapid Development API-Only One Person Stack – Seeking Performant Tech
I don't have any example that's public atm, but the guide in grpc-gateway is pretty clear/can be followed step by step.
https://github.com/grpc-ecosystem/grpc-gateway
To integrate with Fiber, I used the Fiber Adaptor (also pretty straightforward): https://docs.gofiber.io/api/middleware/adaptor
-
Seeking advice on implementing a tinyurl-like service using Go and gRPC.
I wonder if they would be happy with something like this: https://github.com/grpc-ecosystem/grpc-gateway
- How do I provide bot RPC and REST endpoints?
-
Reasons to use gRPC/Protobuf?
Protobuf is used is massively scaled services like firebase. But you'll still see JSON in streamed realtime services like AWS Kinesis. Hopefully google had a return on investment for creating and using this protocol, but it's not hard to prove that it's far from essential. Out of apparent convenience I use grpc-gateway so I can expose both Protobuf and JSON, but honestly I wouldn't do it again
-
gRPC microservices communication in kubernates
GRPC is an alternative to rest, rest and GRPC both use the http protocol. But you won’t be able to use fetch to call a GRPC endpoint, you should look into setting up a GRPC proxy within the application(hopping you have access to the source code) grpc-gateway. If you don’t have access you’ll have to create a new container that proxies the calls
-
Question about gRPC?
(There is an option called google.api.http, that lets you set up a URL that can be used to make HTTP/1 REST requests, which get translated to gRPC calls if you're using grpc-gateway as a proxy in front of your service. That has nothing to do with the requests that are made by gRPC clients and servers themselves.)
-
Issues with proxying gRPC services to web, and a potential prototype
Have you looked at https://github.com/grpc-ecosystem/grpc-gateway ?
-
Understanding gRPC Concepts, Use Cases & Best Practices
protoc-gen-grpc-gateway — plugin for creating a gRPC REST API gateway. It allows gRPC endpoints as REST API endpoints and performs the translation from JSON to proto. Basically, you define a gRPC service with some custom annotations and it makes those gRPC methods accessible via REST using JSON requests.
google.aip.dev
-
Best Practices for REST API Design
As to updates (and other aspects of API design too), I highly recommend taking a look at the solutions proposed at https://aip.dev - e.g. in case of update, https://aip.dev/134 (though there's some slight not-yet-resolved inconsistency observed recently by one user: https://github.com/aip-dev/google.aip.dev/issues/673)
What are some alternatives?
examples - A repository to host examples and tutorials for Gin.
api-guidelines - Microsoft REST API Guidelines
MassTransit - Distributed Application Framework for .NET
OpenAPI-Specification - The OpenAPI Specification Repository
Kreya - Kreya is a GUI client for REST and gRPC with innovative features for environments, authorizations and more.
swagger-tools - A Node.js and browser module that provides tooling around Swagger.
http-decision-diagram - An activity diagram to describe the resolution of HTTP response status codes, given various headers.
grpc-web - gRPC for Web Clients
webmachine - A REST-based system for building web applications.
openapi3 - OpenAPI 3.0 data model
buf - The best way of working with Protocol Buffers.