package main import ( "log" "net/http" "github.com/go-chi/chi/v5" "github.com/go-chi/chi/v5/middleware" "github.com/go-chi/cors" ) func main() { db := InitDB("./dashboard.db") r := chi.NewRouter() r.Use(cors.Handler(cors.Options{ AllowedOrigins: []string{"http://localhost:4200"}, AllowedMethods: []string{"GET", "POST", "PUT", "DELETE", "OPTIONS"}, AllowedHeaders: []string{"Accept", "Authorization", "Content-Type", "X-CSRF-Token"}, ExposedHeaders: []string{"Link"}, AllowCredentials: true, MaxAge: 300, // Maximum value not ignored by any major browsers })) r.Use(middleware.Logger) r.Use(middleware.Recoverer) r.Route("/api/items", func(r chi.Router) { r.Get("/", GetAllItemsHandler(db)) // GET /api/items r.Post("/", CreateItemHandler(db)) // POST /api/items r.Route("/{id}", func(r chi.Router) { r.Get("/", GetItemHandler(db)) // GET /api/items/123 r.Put("/", UpdateItemHandler(db)) // PUT /api/items/123 r.Delete("/", DeleteItemHandler(db)) // DELETE /api/items/123 }) }) log.Println("Server startet auf http://localhost:8080") err := http.ListenAndServe(":8080", r) if err != nil { log.Fatal(err) } }