Macaron
go-japi
Macaron | go-japi | |
---|---|---|
2 | 4 | |
3,481 | 17 | |
0.3% | - | |
5.9 | 1.8 | |
about 1 month ago | almost 2 years ago | |
Go | Go | |
Apache License 2.0 | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
Macaron
-
go-mir - a toolkit to develop RESTful API backend service like develop service of gRPC
Mir is a toolkit to develop RESTful API backend service like develop service of gRPC. It adapt some HTTP framework sush as Gin, Chi, Hertz, Echo, Iris, Fiber, Macaron, Mux, httprouter。
-
Is it possible to write a well-typed controller/handler in Go?
Flamego and it's predecessor Macaron also allow a lot of flexibility in the handler definition.
go-japi
-
What's the reason behind the design decision to not return a response value from handlers?
Check out https://github.com/jarrettv/go-japi if you are building a JSON HTTP API. Also `go-don` is faster and supports other encoding formats.
-
Is it possible to write a well-typed controller/handler in Go?
go-japi and go-don are two small libraries that will do what you want.
-
Connect, a better gRPC
The generic request and response wrappers seem interesting but they do tend to make the handler signature very verbose with little upside. For example: `type Handle[T any, O any] func(ctx context.Context, request T) (O, error)` would be really sweet. See go-japi for example.
-
japi is a JSON HTTP API go library with generics
Japi is a fork and simplification of another library. The upstream library go-don adopted fasthttp and our use case needed to stay on standard net/http.
What are some alternatives?
Gin - Gin is a HTTP web framework written in Go (Golang). It features a Martini-like API with much better performance -- up to 40 times faster. If you need smashing performance, get yourself some Gin.
flamego - A fantastic modular Go web framework with a slim core but limitless extensibility
Echo - High performance, minimalist Go web framework
there - ⚡️ Robust Web Framework to build Go Services
Iris - The fastest HTTP/2 Go Web Framework. New, modern and easy to learn. Fast development with Code you control. Unbeatable cost-performance ratio :rocket:
connect-go - Moved to https://github.com/connectrpc/connect-go
chi - lightweight, idiomatic and composable router for building Go HTTP services
grpc-gateway - gRPC to JSON proxy generator following the gRPC HTTP spec
mux - A powerful HTTP router and URL matcher for building Go web servers with 🦍
go-respond - A Go package for handling common HTTP JSON responses.
Revel - A high productivity, full-stack web framework for the Go language.