core

package
v0.2.0-alpha.12 Latest Latest
Warning

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

Go to latest
Published: Jan 9, 2025 License: MIT Imports: 10 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func CopyWithTypeConverters

func CopyWithTypeConverters(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, req *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