Based on our record, goa seems to be a lot more popular than tapir. While we know about 27 links to goa, we've tracked only 2 mentions of tapir. We are tracking product recommendations and mentions on various public social media platforms and blogs. They can help you identify which product is more popular and what people think of it.
We're using tapir (https://tapir.softwaremill.com/en/latest/), and are pretty happy with it. - Source: Hacker News / 12 months ago
I have not really dug into much but does tapir help with replacement ?https://tapir.softwaremill.com/en/latest/. Source: over 1 year ago
My experience of Golang is that dependency injection doesn't really have much benefit. It felt like a square peg in a round hole exercise when my team considered it. The team was almost exclusively Java/Typescript Devs so it was something that we thought we needed but I don't believe we actually missed once we decided to not pursue it. If you are looking at OpenAPI in Golang I can recommend having a look at... - Source: Hacker News / 19 days ago
See https://goa.design/. It automates all the comms stuff, so you just write: 1) a design file showing your functions, 2) an implantation of those functions, and 3) a very generic "main.go" (basically the same for all your services) that decides "how is this exposed over gRPC or REST or other comms?". The rest of the code is generated. Source: 5 months ago
If you really need a framework, you can take a look at Echo or, for a contract-first approach, https://goa.design/. Source: 11 months ago
Few folks in here are (rightly) frustrated with the code generation story and broader tooling support around the OpenAPI standard. I've found a few alternative approaches quite nice to work with: - Use a DSL to describe your service and have it spit out the OpenAPI spec as well as server stubs. In other words, I wouldn't bother writing OpenAPI directly - it's an artifact that is generated at build time. As a Go... - Source: Hacker News / 12 months ago
One of the biggest issues I see is that you are using the same models for API as you are for the database. That wouldn’t fly in a real work system. And even though your doing simple CRUD I would introduce another layer for business logic. You should never have the Controller calling you database code directly. It never “stays” that simplistic. One of the easiest ways to deal with this is to use... Source: 12 months ago
Fern - Describe your API endpoints, types, errors, and examples. Generate SDKs, documentation, and server boilerplate.
KintoHub - A modern fullstack app platform
ts-rest - Simplify E2E type-safety for your Typescript REST APIs
Istio - Open platform to connect, manage, and secure microservices
linkerd - Linkerd is an ultralight service mesh for Kubernetes. It gives you observability, reliability, and security without requiring any code changes.
Epsagon - Track costs and fix your serverless application.