PocketBase开源的 Go 后端
PocketBase是一个开源的 Go 后端,包括:
- 具有实时订阅的嵌入式数据库 ( SQLite )
- 内置文件和用户管理
- 方便的管理仪表板 UI
- 和简单的 REST-ish API
PocketBase 可以作为独立应用程序直接下载,也可以用作 Go 框架/工具包,允许用户构建自己的自定义应用程序特定业务逻辑,并且最后仍然有一个可移植的可执行文件。
# go 1.18+
go get github.com/pocketbase/pocketbase
示例
package main import ( "log" "net/http" "github.com/labstack/echo/v5" "github.com/pocketbase/pocketbase" "github.com/pocketbase/pocketbase/apis" "github.com/pocketbase/pocketbase/core" ) func main() { app := pocketbase.New() app.OnBeforeServe().Add(func(e *core.ServeEvent) error { // add new "GET /api/hello" route to the app router (echo) e.Router.AddRoute(echo.Route{ Method: http.MethodGet, Path: "/api/hello", Handler: func(c echo.Context) error { return c.String(200, "Hello world!") }, Middlewares: []echo.MiddlewareFunc{ apis.RequireAdminOrUserAuth(), }, }) return nil }) if err := app.Start(); err != nil { log.Fatal(err) } }
评论