Just an example of creating a gRPC service and generating an OpenAPI spec then exposing it over HTTP too.
> go run cmd/example.go
2022/07/20 16:15:13 gRPC server ready on localhost:5566...
2022/07/20 16:15:13 HTTP server ready on localhost:8080...
Open http://localhost:8080/swagger-ui/ to view the generated docs. The UI is literally copied from https://github.com/swagger-api/swagger-ui/tree/master/dist as that is the intended use of it.
If you modify this file you need to rebuild and regenerate files. We use the
buf CLI to do this.
> buf build
> buf generate