Menu

Post image 1
Post image 2
1 / 2
0

I Chose Chi Over Gin for 60 API Endpoints. Here's Why I Don't Regret It.

DEV Community·Jonathan Pitter·26 days ago
#GS5RYIKD
#when#go#webdev#middleware#fullscreen#handler
Reading 0:00
15s threshold

Every Go web framework comparison post says the same thing: "Gin is the most popular, Fiber is the fastest, Echo is a good balance." Chi barely gets a paragraph. I'm building a multi-tenant deployment platform in Go. The API has 60 endpoints across 12 route groups: account management, tenant CRUD, deployments, services, environment variables, custom domains, network rules, GitHub integration, registry credentials, real-time SSE events, admin tools, and health checks. I chose Chi. Months later, I still think it was the right call. Here's why. The Decision Point When I started, the choice came down to Gin and Chi. I'd used Gin before and liked it fine. But three things pushed me toward Chi: Chi handlers are just http.HandlerFunc . That's it. No custom context type, no framework-specific signature. Every handler I write looks like this: func ( s * Server ) handleCreateTenant ( w http . ResponseWriter , r * http . Request ) { provider := middleware . GetProvider ( r . Context ()) // ...…

Continue reading — create a free account

Join HashtagPLUS to read full articles, follow hashtags, vote, and join the conversation.

Read More