Sobre el proyecto
gRPC-Gateway es un plugin para el compilador de buffers de protocolo de Google (protoc). Lee definiciones de servicios protobuf y genera un servidor proxy inverso que traduce una API HTTP RESTful a gRPC, basándose en las anotaciones google.api.http en las definiciones de servicios. Esto permite exponer un servicio tanto en estilo gRPC como RESTful JSON al mismo tiempo.
Capacidades clave descritas en el README:
- Genera manejadores de API JSON y un proxy inverso a partir de definiciones proto.
- Admite parámetros de método en el cuerpo de la solicitud, la ruta y la cadena de consulta.
- Maneja campos enum en parámetros de ruta, incluidos campos enum repetidos.
- Asigna API de streaming a JSON delimitado por saltos de línea.
- Tres enfoques de mapeo: mapeo HTTP predeterminado (con generate_unbound_methods), anotaciones personalizadas google.api.http, o un archivo externo de configuración de servicio gRPC (opcionalmente con standalone=true).
- Generación opcional de OpenAPI/Swagger mediante protoc-gen-openapiv2, y un protoc-gen-openapiv3 en fase alpha para salida OpenAPI 3.1.
- Instalación mediante go install, directivas de herramientas de Go 1.24, o binarios de versión precompilados con firmas SLSA3.
- Uso con buf (plugins locales o remotos) o protoc, con configuraciones de ejemplo de buf.gen.yaml.
- Una biblioteca de tiempo de ejecución (runtime.NewServeMux) para escribir el punto de entrada HTTP que actúa como proxy hacia un endpoint de servidor gRPC.
- Sitio de documentación, directorio de ejemplos y un video introductorio de GopherCon UK 2019.
El README señala que protoc-gen-openapiv3 está en fase alpha y la forma de su salida puede cambiar, mientras que protoc-gen-openapiv2 es la opción estable para producción. También menciona el renombrado de parámetros de ruta para mapeos duplicados y modos de desescapado para barras codificadas en URL.
Comments
0 people shared their preference · Deer Point appears after 10 participants
Sign in to join the discussion.