Our great sponsors
-
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.
-
InfluxDB
Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
-
WorkOS
The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.
A popular framework that comes to mind is Gin
I use standard library along with gorilla/mux and golang-jwt/jwt
I use standard library along with gorilla/mux and golang-jwt/jwt
go-chi/chi
fiber
Recently I discovered a phenomenal library called Masterminds/squirrel and I am just in-love with it, I use it for everything pertaining to database stuff. If you could imagine a spectrum of ORM on the left side, pure SQL queries on the right, squirrel is a somewhere in the middle. I highly recommend you check it out!
It's a mix. I usually use echo (https://echo.labstack.com/) for routing and some middleware mixed in with custom middleware. Echo is used because it's readable and expressive in the function naming that ensures you know how it's behaving.
I used Echo for a lot of stuff (and it was easy to work with), but recently OpenAPI 3 has been a requirement, so I've switched to https://github.com/swaggest/rest
There is an example here: https://github.com/grpc-ecosystem/grpc-gateway/blob/master/examples/internal/proto/examplepb/stream.proto
I'm using Goyave, removes the hassle of setting up a lot of things yourself for bigger projects or APIs that are going to be exposed to the internet. Otherwise for internal services it's probably overkill.