-
Notifications
You must be signed in to change notification settings - Fork 8.3k
Description
Hey I am having trouble to implement a full frontend in my backend.
I have a directory called public where a index.html is placed.
Now I want the api routes to be listening on /api/ subgroup and everything else should redirect to index.html since my react frontend does manage the routing on its own.
I am always getting an error when trying to start that configuration. This is my code:
func main() {
r := gin.Default()
// API-Routes
api := r.Group("/api")
routes.RegisterRoutes(api)
// Static routes
r.Static("/", "./public")
// Fallback for SPA
r.NoRoute(func(c *gin.Context) {
c.File("./public/index.html")
})
if err := r.Run(":8080"); err != nil {
println("Error starting server:", err)
}
}
[GIN-debug] [WARNING] Running in "debug" mode. Switch to "release" mode in production.
- using env: export GIN_MODE=release
- using code: gin.SetMode(gin.ReleaseMode)
[GIN-debug] GET /api/ping --> github.com/marvn/hms/backend/handlers.Ping (3 handlers)
[GIN-debug] GET /*filepath --> github.com/gin-gonic/gin.(*RouterGroup).createStaticHandler.func1 (3 handlers)
panic: catch-all wildcard '*filepath' in new path '/*filepath' conflicts with existing path segment 'api' in existing prefix '/api'
Can I somehow fix this?
BTW is there a discord or anything where I can ask those questions instead of opening an issue on Github?
THx for your help!