package main import ( "log" "net/http" "time" "github.com/go-chi/chi/v5" "github.com/go-chi/chi/v5/middleware" "github.com/go-chi/render" ) func main() { r := chi.NewRouter() r.Use(middleware.RequestID) r.Use(middleware.RealIP) r.Use(middleware.Logger) r.Use(middleware.Recoverer) r.Use(middleware.Timeout(60 * time.Second)) r.Get("/", func(w http.ResponseWriter, r *http.Request) { render.JSON(w, r, map[string]interface{}{ "code": http.StatusOK, "message": "Hello World", "data": struct{}{}, }) }) err := http.ListenAndServe(":8080", r) if err != nil { log.Fatal(err) } }