All Projects → utrack → Clay

utrack / Clay

Licence: mit
Proto-first minimal server platform for gRPС+REST+Swagger APIs

Programming Languages

go
31211 projects - #10 most used programming language
golang
3204 projects

Projects that are alternatives of or similar to Clay

Grpc Gateway
The gRPC-Gateway is a plugin of the Google protocol buffers compiler protoc. It reads protobuf service definitions and generates a reverse-proxy server which translates a RESTful HTTP API into gRPC. This server is generated according to the google.api.http annotations in your service definitions.
Stars: ✭ 12,223 (+5665.57%)
Mutual labels:  swagger, grpc, grpc-gateway
Go Micro Boilerplate
The boilerplate of the GoLang application with a clear microservices architecture.
Stars: ✭ 147 (-30.66%)
Mutual labels:  swagger, grpc, protobuf
Gf Cli
GoFrame Command Line Interface, which is your helpmate for building GoFrame application with convenience.
Stars: ✭ 143 (-32.55%)
Mutual labels:  swagger, grpc, protobuf
docker-protobuf
An all-inclusive protoc Docker image
Stars: ✭ 105 (-50.47%)
Mutual labels:  protobuf, grpc, grpc-gateway
Grpc Jersey
gRPC<->Jersey bridge
Stars: ✭ 23 (-89.15%)
Mutual labels:  grpc, grpc-gateway, protobuf
Grpc Example
An example of using Go gRPC and tools from the greater gRPC ecosystem together with the GoGo Protobuf Project.
Stars: ✭ 352 (+66.04%)
Mutual labels:  grpc, grpc-gateway, protobuf
Rules protobuf
Bazel rules for building protocol buffers and gRPC services (java, c++, go, ...)
Stars: ✭ 206 (-2.83%)
Mutual labels:  grpc, grpc-gateway, protobuf
Protoc Gen Twirp swagger
Swagger generator for twirp
Stars: ✭ 54 (-74.53%)
Mutual labels:  swagger, grpc, protobuf
Protoeasy Go
Simpler usage of protoc. Deprecated.
Stars: ✭ 129 (-39.15%)
Mutual labels:  grpc, grpc-gateway, protobuf
Grpc Cmake Example
gRPC C++ example with CMake
Stars: ✭ 142 (-33.02%)
Mutual labels:  grpc, protobuf
Graphql Mesh
GraphQL Mesh — Query anything, run anywhere
Stars: ✭ 2,114 (+897.17%)
Mutual labels:  swagger, grpc
Go Grpc Example
An example of gRPC
Stars: ✭ 153 (-27.83%)
Mutual labels:  grpc, protobuf
Cmakeprotosgrpc
gRPC + protobuf using CMake example
Stars: ✭ 137 (-35.38%)
Mutual labels:  grpc, protobuf
Flutter Grpc Tutorial
[Tutorial] Asynchronous Flutter chat client with Go chat server which are powered by gRPC (simple and streaming)
Stars: ✭ 167 (-21.23%)
Mutual labels:  grpc, protobuf
Almost Famous
🌟 Almost-Famous(成名之路) ——卡牌游戏开源项目,架构使用SpringBoot+Netty+Maven+SpringCloud来搭建多进程分布式框架,包括Cloud、Unique、Login、Game、Match、Battle 等服务。
Stars: ✭ 131 (-38.21%)
Mutual labels:  grpc, protobuf
Ginrpc
gin auto binding,grpc, and annotated route,gin 注解路由, grpc,自动参数绑定工具
Stars: ✭ 157 (-25.94%)
Mutual labels:  swagger, grpc
Buf
A new way of working with Protocol Buffers.
Stars: ✭ 3,328 (+1469.81%)
Mutual labels:  grpc, protobuf
Kratos
A modular-designed and easy-to-use microservices framework in Go.
Stars: ✭ 15,844 (+7373.58%)
Mutual labels:  grpc, protobuf
Go Grpc Examples
This repo contains examples and implementations of different types of GRPC services and APIs using Golang.
Stars: ✭ 180 (-15.09%)
Mutual labels:  grpc, protobuf
Rules proto
Modern bazel build rules for protobuf / gRPC
Stars: ✭ 179 (-15.57%)
Mutual labels:  grpc, protobuf

clay

Build Status

Minimal server platform for gRPC and REST+Swagger APIs in Go

Using clay you can automatically spin up HTTP handlers for your gRPC server with complete Swagger defs with a few lines of code.

This project provides the HTTP+Swagger handler generator and optional server that you can use to serve your handlers via any protocol.

Deprecation / Looking for maintainers

This project supports only legacy Protobuf API (golang/protobuf and protoc-gen-go <v1.20.0). These APIs were superseded by module google.golang.org/protobuf.

Read more about this migration here: https://blog.golang.org/protobuf-apiv2 .

grpc-gateway is an excellent alternative to clay.

golang/protobuf >=v1.40.0 (a shim between APIs v1/v2) makes clay compatible with v2 APIs, though there's no promises on future compatibility.

It is possible to upgrade clay to v2 APIs, but there's no other maintainers and my own work has gone elsewhere. PM me or fork the repo if you want to become a new maintainer.

Requirements

Since new Semantic Import Versioning is used, you are required to use Go1.10.3+

How?

Check out an example server for a quick start if you're experienced with gRPC, or dive into step-by-step docs for a full guide.

Contributing

You may contribute in several ways like creating new features, fixing bugs, improving documentation and/or examples using GitHub pull requests.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].