package main import ( "log" bookmarks_api "git.zzyxyz.com/zzy/zzyxyz_go_api/gen/bookmarks_server" user_np_api "git.zzyxyz.com/zzy/zzyxyz_go_api/gen/user_np_server" "git.zzyxyz.com/zzy/zzyxyz_go_api/internal/bookmarks" "github.com/gin-contrib/cors" "github.com/gin-gonic/gin" ) func main() { gin.SetMode(gin.ReleaseMode) router := gin.Default() // 允许所有源的示例配置 config := cors.Config{ AllowAllOrigins: true, AllowMethods: []string{"GET", "POST", "PUT", "PATCH", "DELETE", "HEAD"}, AllowHeaders: []string{"Origin", "Content-Length", "Content-Type"}, } router.Use(cors.New(config)) api_router := router.Group("/api") { // create a type that satisfies the `api.ServerInterface`, // which contains an implementation of every operation from the generated code if server, err := bookmarks.NewBookMarks("./data/bookmark.sqlite3"); err != nil { log.Fatal("Failed to create bookmarks server:", err) } else if permission, err := bookmarks.NewBookMarkPermission(); err != nil || permission == nil { log.Fatal("Failed to create bookmarks permission:", err) } else { bookmarks_api.RegisterHandlersWithOptions(api_router, server, *permission) } // create a type that satisfies the `api.ServerInterface`, // which contains an implementation of every operation from the generated code if server, err := bookmarks.NewUserNP("./data/user_np.sqlite3"); err != nil { log.Fatal("Failed to create user_np server:", err) } else { user_np_api.RegisterHandlers(api_router, server) } } var listener = "localhost:8081" log.Printf("Starting server at http://%s", listener) log.Fatal(router.Run(listener)) }