{"repo":"sudorandom/protoc-gen-connect-openapi","free":true,"listed":false,"github":"https://github.com/sudorandom/protoc-gen-connect-openapi","clone":"git clone https://github.com/sudorandom/protoc-gen-connect-openapi.git","description":"Plugin for generating OpenAPIv3 from protobufs matching the Connect RPC interface","language":"Go","stars":305,"topics":["connectrpc","golang","grpc","protoc","protoc-plugin","protobuf"],"license":"MIT","category":"networking-infra","readme_excerpt":"protoc-gen-connect-openapi Generate OpenAPI v3.1 from protobuf matching the Connect protocol. With these OpenAPI specs, you can: - Generate Documentation (Elements, redoc, etc.) - Generate HTTP Clients for places where you cannot use gRPC (openapi-generator) - Datasource for automated endpoint validation/security testing - Datasource for monitoring dashboards - Many other things Features: - Support for OpenAPIv3.1 (which has support for jsonschema) - Support for generating AsyncAPI v3.1 specifications alongside OpenAPI for streaming/WebSocket endpoints (e.g., for grpc-websocket-proxy) - Support for Twirp (more info) - Support for many Protovalidate options (more info) - Support for many OpenAPIv3 options from the google/gnostic project protobufs (more info) - Support for gRPC-Gateway annotations (more info) - Has an easy interface for generating OpenAPI specs in-process for Go Example Pipeline: - Protobuf file: example - OpenAPI file: example - Generate documentation: redocly example Why? Connect makes your gRPC service look and feel like a normal HTTP/JSON API, at least for non-streaming RPC calls. It does this without an extra network hop and an extra proxy layer because the same Connect server can speak the Connect, gRPC and gRPC-Web protocols in a single port. This is what a GET request looks like. Note that GET requests are available for methods with an option of idempotency level=NO SIDE EFFECTS . We can document this API as if it's a real JSON/HTTP API... because it is","default_branch":null,"files":null,"tree":[],"storefront":"/r/sudorandom","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/sudorandom/protoc-gen-connect-openapi/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}