Skip to content

sundowndev/grpc-api-example

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

23 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

grpc-api-example

This repository demonstrates how to use gRPC with Go and various plugins. It's a simple API to manage notes. It uses grpc-gateway to handle HTTP requests and openapi to define API specs.

Demonstrated features

  • buf.build framework
  • grpc gateway + openapi specs and swagger UI
  • graceful server shut down (designed for orchestration systems such as k8s)
  • gRPC health check protocol.
  • rpc message validation
  • gRPC services testing

⚠️ For demo purposes, encryption wasn't properly handled in this project.

Installation

This project uses go1.20.

$ make install-tools
$ make build

Run the server

$ ./bin/server -h
Usage of ./bin/server:
  -grpc-server-endpoint string
    	gRPC server endpoint (default "localhost:9090")
  -http-server-endpoint string
    	HTTP server endpoint (default "localhost:8000")

About

A gRPC API with grpc gateway and openapi

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published