core

package
v0.1.0 Latest Latest
Warning

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

Go to latest
Published: Jun 2, 2025 License: MIT Imports: 10 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Copy

func Copy(to any, from any) error

func CopyWithConverters

func CopyWithConverters(to any, from any) error

func HandleJSONRequest

func HandleJSONRequest[T any, R any](c *gin.Context, handler Handler[T, R], validators ...Validator[T])

HandleJSONRequest 是处理 JSON 请求的快捷函数.

func HandleQueryRequest

func HandleQueryRequest[T any, R any](c *gin.Context, handler Handler[T, R], validators ...Validator[T])

HandleQueryRequest 是处理 Query 参数请求的快捷函数.

func HandleRequest

func HandleRequest[T any, R any](c *gin.Context, binder Binder, handler Handler[T, R], validators ...Validator[T])

HandleRequest 是通用的请求处理函数. 负责绑定请求数据、执行验证、并调用实际的业务处理逻辑函数.

func HandleUriRequest

func HandleUriRequest[T any, R any](c *gin.Context, handler Handler[T, R], validators ...Validator[T])

HandleUriRequest 是处理 URI 请求的快捷函数.

func OnInitialize

func OnInitialize(configFile *string, envPrefix string, loadDirs []string, defaultConfigName string) func()

OnInitialize 设置需要读取的配置文件名、环境变量,并将其内容读取到 viper 中.

func ReadRequest

func ReadRequest[T any](c *gin.Context, rq *T, binder Binder, validators ...Validator[T]) error

ReadRequest 是用于绑定和验证请求数据的通用工具函数. - 它负责调用绑定函数绑定请求数据. - 如果目标类型实现了 Default 接口,会调用其 Default 方法设置默认值. - 最后执行传入的验证器对数据进行校验.

func ShouldBindJSON

func ShouldBindJSON[T any](c *gin.Context, rq *T, validators ...Validator[T]) error

ShouldBindJSON 使用 JSON 格式的绑定函数绑定请求参数并执行验证。

func ShouldBindQuery

func ShouldBindQuery[T any](c *gin.Context, rq *T, validators ...Validator[T]) error

ShouldBindQuery 使用 Query 格式的绑定函数绑定请求参数并执行验证。

func ShouldBindUri

func ShouldBindUri[T any](c *gin.Context, rq *T, validators ...Validator[T]) error

ShouldBindUri 使用 URI 格式的绑定函数绑定请求参数并执行验证。

func TypeConverters

func TypeConverters() []copier.TypeConverter

TypeConverters 定义时间类型转换器,用于 copier 的深度拷贝。

func WriteResponse

func WriteResponse(c *gin.Context, data any, err error)

WriteResponse 是通用的响应函数. 它会根据是否发生错误,生成成功响应或标准化的错误响应.

Types

type Binder

type Binder func(any) error

Binder 定义绑定函数的类型,用于绑定请求数据到相应结构体.

type ErrorResponse

type ErrorResponse struct {
	// 错误原因,标识错误类型
	Reason string `json:"reason,omitempty"`
	// 错误详情的描述信息
	Message string `json:"message,omitempty"`
	// 附带的元数据信息
	Metadata map[string]string `json:"metadata,omitempty"`
}

ErrorResponse 定义了错误响应的结构, 用于 API 请求中发生错误时返回统一的格式化错误信息.

type Handler

type Handler[T any, R any] func(ctx context.Context, req *T) (R, error)

Handler 是处理函数的类型,用于处理已经绑定和验证的数据.

type Validator

type Validator[T any] func(context.Context, *T) error

Validator 是验证函数的类型,用于对绑定的数据结构进行验证.

Jump to

Keyboard shortcuts

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