Documentation
¶
Overview ¶
Package gorp 提供 gorp 框架的统一入口。
中文说明: - 通过此包可以直接访问框架的核心功能,无需分别导入子包; - 例如:gorp.BootHTTPService、gorp.MustMakeLogger; - 这是推荐的导入方式,简化业务代码的 import 语句。
使用示例:
import "github.com/ngq/gorp"
func main() {
err := gorp.BootHTTPService("my-service", gorp.HTTPServiceOptions{}, migrate, setup)
if err != nil {
panic(err)
}
}
func migrate(rt *gorp.HTTPServiceRuntime) error {
return gorp.AutoMigrateModels(rt, &User{}, &Order{})
}
func setup(rt *gorp.HTTPServiceRuntime) error {
c := rt.Container()
logger := gorp.MustMakeLogger(c)
db := gorp.MustMakeGorm(c)
// 注册路由、业务逻辑等
return nil
}
Index ¶
- func AutoMigrateModels(runtime *HTTPServiceRuntime, models ...any) error
- func BootHTTPService(serviceName string, opts HTTPServiceOptions, ...) error
- func MustMakeAppService[T any](c Container, key string) T
- func MustMakeCache(c Container) contract.Cache
- func MustMakeConfig(c Container) contract.Config
- func MustMakeDistributedLock(c Container) contract.DistributedLock
- func MustMakeEngine(c Container) *gin.Engine
- func MustMakeGRPCConnFactory(c Container) contract.GRPCConnFactory
- func MustMakeGRPCServerRegistrar(c Container) contract.GRPCServerRegistrar
- func MustMakeGorm(c Container) *gorm.DB
- func MustMakeJWTService(c Container) contract.JWTService
- func MustMakeLogger(c Container) contract.Logger
- func MustMakeMessagePublisher(c Container) contract.MessagePublisher
- func MustMakeMessageSubscriber(c Container) contract.MessageSubscriber
- func RegisterHealthCheck(engine *gin.Engine, serviceName string)
- func RegisterMetricsEndpoint(engine *gin.Engine)
- func RunHTTP(c Container, logger contract.Logger) error
- type Container
- type HTTPServiceOptions
- type HTTPServiceRuntime
- type ServiceProvider
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func AutoMigrateModels ¶
func AutoMigrateModels(runtime *HTTPServiceRuntime, models ...any) error
AutoMigrateModels 自动迁移数据库模型。
func BootHTTPService ¶
func BootHTTPService(serviceName string, opts HTTPServiceOptions, migrate func(*HTTPServiceRuntime) error, setup func(*HTTPServiceRuntime) error) error
BootHTTPService 启动 HTTP 服务。
func MustMakeAppService ¶
MustMakeAppService 从容器获取应用服务。
func MustMakeDistributedLock ¶
func MustMakeDistributedLock(c Container) contract.DistributedLock
MustMakeDistributedLock 从容器获取分布式锁。
func MustMakeGRPCConnFactory ¶
func MustMakeGRPCConnFactory(c Container) contract.GRPCConnFactory
MustMakeGRPCConnFactory 从容器获取 gRPC 连接工厂。
func MustMakeGRPCServerRegistrar ¶
func MustMakeGRPCServerRegistrar(c Container) contract.GRPCServerRegistrar
MustMakeGRPCServerRegistrar 从容器获取 gRPC 服务注册器。
func MustMakeJWTService ¶
func MustMakeJWTService(c Container) contract.JWTService
MustMakeJWTService 从容器获取 JWT 服务。
func MustMakeMessagePublisher ¶
func MustMakeMessagePublisher(c Container) contract.MessagePublisher
MustMakeMessagePublisher 从容器获取消息发布者。
func MustMakeMessageSubscriber ¶
func MustMakeMessageSubscriber(c Container) contract.MessageSubscriber
MustMakeMessageSubscriber 从容器获取消息订阅者。
func RegisterHealthCheck ¶
RegisterHealthCheck 注册健康检查端点。
func RegisterMetricsEndpoint ¶
RegisterMetricsEndpoint 注册 Prometheus 指标端点。
Types ¶
type HTTPServiceOptions ¶
type HTTPServiceOptions = bootstrap.HTTPServiceOptions
HTTPServiceOptions HTTP 服务启动选项。
type HTTPServiceRuntime ¶
type HTTPServiceRuntime = bootstrap.HTTPServiceRuntime
HTTPServiceRuntime HTTP 服务运行时。
func NewHTTPServiceRuntime ¶
func NewHTTPServiceRuntime(serviceName string, opts HTTPServiceOptions) (*HTTPServiceRuntime, error)
NewHTTPServiceRuntime 创建 HTTP 服务运行时。
Directories
¶
| Path | Synopsis |
|---|---|
|
cmd
|
|
|
gorp
command
|
|
|
examples
|
|
|
nop-go/scripts/gen-swagger
command
Package main Swagger 文档生成工具
|
Package main Swagger 文档生成工具 |
|
bootstrap
Package bootstrap HTTP 服务启动封装
|
Package bootstrap HTTP 服务启动封装 |
Click to show internal directories.
Click to hide internal directories.