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)
}
}
评论
