PocketBase开源的 Go 后端

联合创作 · 2023-09-28 09:42

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)
}
}
浏览 31
点赞
评论
收藏
分享

手机扫一扫分享

编辑 分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

编辑 分享
举报