gorp

package module
v0.0.0-...-ece948e Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 21, 2026 License: MIT Imports: 5 Imported by: 0

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

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

func MustMakeAppService[T any](c Container, key string) T

MustMakeAppService 从容器获取应用服务。

func MustMakeCache

func MustMakeCache(c Container) contract.Cache

MustMakeCache 从容器获取缓存服务。

func MustMakeConfig

func MustMakeConfig(c Container) contract.Config

MustMakeConfig 从容器获取配置服务。

func MustMakeDistributedLock

func MustMakeDistributedLock(c Container) contract.DistributedLock

MustMakeDistributedLock 从容器获取分布式锁。

func MustMakeEngine

func MustMakeEngine(c Container) *gin.Engine

MustMakeEngine 从容器获取 Gin Engine。

func MustMakeGRPCConnFactory

func MustMakeGRPCConnFactory(c Container) contract.GRPCConnFactory

MustMakeGRPCConnFactory 从容器获取 gRPC 连接工厂。

func MustMakeGRPCServerRegistrar

func MustMakeGRPCServerRegistrar(c Container) contract.GRPCServerRegistrar

MustMakeGRPCServerRegistrar 从容器获取 gRPC 服务注册器。

func MustMakeGorm

func MustMakeGorm(c Container) *gorm.DB

MustMakeGorm 从容器获取 Gorm 数据库连接。

func MustMakeJWTService

func MustMakeJWTService(c Container) contract.JWTService

MustMakeJWTService 从容器获取 JWT 服务。

func MustMakeLogger

func MustMakeLogger(c Container) contract.Logger

MustMakeLogger 从容器获取日志服务。

func MustMakeMessagePublisher

func MustMakeMessagePublisher(c Container) contract.MessagePublisher

MustMakeMessagePublisher 从容器获取消息发布者。

func MustMakeMessageSubscriber

func MustMakeMessageSubscriber(c Container) contract.MessageSubscriber

MustMakeMessageSubscriber 从容器获取消息订阅者。

func RegisterHealthCheck

func RegisterHealthCheck(engine *gin.Engine, serviceName string)

RegisterHealthCheck 注册健康检查端点。

func RegisterMetricsEndpoint

func RegisterMetricsEndpoint(engine *gin.Engine)

RegisterMetricsEndpoint 注册 Prometheus 指标端点。

func RunHTTP

func RunHTTP(c Container, logger contract.Logger) error

RunHTTP 运行 HTTP 服务。

Types

type Container

type Container = contract.Container

Container 依赖注入容器接口。

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 服务运行时。

type ServiceProvider

type ServiceProvider = contract.ServiceProvider

ServiceProvider 服务提供者接口。

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 服务启动封装

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL