PocketBase開(kāi)源的 Go 后端
PocketBase是一個(gè)開(kāi)源的 Go 后端,包括:
- 具有實(shí)時(shí)訂閱的嵌入式數(shù)據(jù)庫(kù) ( SQLite )
- 內(nèi)置文件和用戶管理
- 方便的管理儀表板 UI
- 和簡(jiǎn)單的 REST-ish API
PocketBase 可以作為獨(dú)立應(yīng)用程序直接下載,也可以用作 Go 框架/工具包,允許用戶構(gòu)建自己的自定義應(yīng)用程序特定業(yè)務(wù)邏輯,并且最后仍然有一個(gè)可移植的可執(zhí)行文件。
# 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) } }
評(píng)論
圖片
表情
