Documentation ¶
Index ¶
- func Bind[O any](binder *Binder, item *BindItem[O], middlewares ...Middleware)
- func DeleteBind[O any](binder *Binder, item *SimpleBindItem[O], middlewares ...Middleware)
- func GetBind[O any](binder *Binder, item *SimpleBindItem[O], middlewares ...Middleware)
- func PostBind[O any](binder *Binder, item *SimpleBindItem[O], middlewares ...Middleware)
- func PutBind[O any](binder *Binder, item *SimpleBindItem[O], middlewares ...Middleware)
- func Static(binder *Binder, item *StaticBindItem)
- func StaticFile(binder *Binder, item *StaticFileBindItem)
- type BindItem
- type Binder
- type FormDomainObjectsFunc
- type Middleware
- type ServiceFunc
- type SimpleBindItem
- type StaticBindItem
- type StaticFileBindItem
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func Bind ¶
func Bind[O any](binder *Binder, item *BindItem[O], middlewares ...Middleware)
Bind 通用绑定 类型参数: - O: 响应数据类型,对应response.SendResponseFunc的data的类型 参数: - binder: 用来执行绑定的binder - item: 执行绑定的参数 - middlewares: 该绑定的中间件
func DeleteBind ¶
func DeleteBind[O any](binder *Binder, item *SimpleBindItem[O], middlewares ...Middleware)
DeleteBind 进行DELETE绑定,创建DELETE API并完成接口逻辑编写 类型参数: - O: 响应数据类型,对应response.SendResponseFunc的data的类型 参数: - binder: 用来执行绑定的binder - item: 执行绑定的参数 - middlewares: 该绑定的中间件
func GetBind ¶
func GetBind[O any](binder *Binder, item *SimpleBindItem[O], middlewares ...Middleware)
GetBind 进行GET绑定,创建GET API并完成接口逻辑编写 类型参数: - O: 响应数据类型,对应response.SendResponseFunc的data的类型 参数: - binder: 用来执行绑定的binder - item: 执行绑定的参数 - middlewares: 该绑定的中间件 返回值: 无
func PostBind ¶
func PostBind[O any](binder *Binder, item *SimpleBindItem[O], middlewares ...Middleware)
PostBind 进行POST绑定,创建POST API并完成接口逻辑编写 类型参数: - O: 响应数据类型,对应response.SendResponseFunc的data的类型 参数: - binder: 用来执行绑定的binder - item: 执行绑定的参数 - middlewares: 该绑定的中间件
func PutBind ¶
func PutBind[O any](binder *Binder, item *SimpleBindItem[O], middlewares ...Middleware)
PutBind 进行PUT绑定,创建PUT API并完成接口逻辑编写 类型参数: - O: 响应数据类型,对应response.SendResponseFunc的data的类型 参数: - binder: 用来执行绑定的binder - item: 执行绑定的参数 - middlewares: 该绑定的中间件 返回值: 无
func Static ¶
func Static(binder *Binder, item *StaticBindItem)
Static 静态绑定 参数: - binder: 用来执行绑定的binder - item: 执行绑定的参数
func StaticFile ¶
func StaticFile(binder *Binder, item *StaticFileBindItem)
StaticFile 静态文件绑定 参数: - binder: 用来执行绑定的binder - item: 执行绑定的参数
Types ¶
type BindItem ¶
type BindItem[O any] struct { Method string *SimpleBindItem[O] }
BindItem 通用BindItem
type Binder ¶
type Binder struct {
// contains filtered or unexported fields
}
func NewBinder ¶
func NewBinder(router api.Router, i *infrastructure.Infrastructure) *Binder
NewBinder 构造Binder 参数: - router: 使用的路由 - i: 使用的基础设施 返回值: - 构造的binder
type FormDomainObjectsFunc ¶
FormDomainObjectsFunc 构造领域对象函数类型 参数: - c: 上下文 - params: 请求参数 返回值: - 基于请求参数构造的领域对象,回传到ServiceFunc的objects参数 - 错误
type Middleware ¶ added in v0.8.0
type Middleware func(c *api.Context, i *infrastructure.Infrastructure)
Middleware binder使用的中间件
type ServiceFunc ¶
type ServiceFunc[O any] func(c *api.Context, params request.Params, objects []domain.Object, i *infrastructure.Infrastructure) (O, error)
ServiceFunc 服务函数(业务逻辑函数) 类型参数: - O: 响应数据类型,对应response.SendResponseFunc的data的类型 参数: - c: 上下文 - params: 请求参数 - objects: 基于请求参数构造出的领域对象 - i: 基础设施 返回值: - 响应数据 - 错误
type SimpleBindItem ¶
type SimpleBindItem[O any] struct { // URL相对路径 Path string // 响应泛型函数,如果不响应,需要使用NoResponse零值占位 SendResponseFunc response.SendResponseFunc[O] // 使用的请求参数,非必传,当请求参数为nil时,说明该接口没有参数 RequestParams request.Params // 可选的请求参数绑定函数 // 非必传,POST和PUT请求默认为JsonBody,DELETE和GET默认为QueryParams // 额外还提供了一些转化函数: // BindPathParams: 绑定路径参数 // BindMultipartForm: 绑定multipart form // BindFormBody: 绑定form body // XMLBody: 绑定XML body BindRequestParamsFunc request.BindRequestParamsFunc // 通过请求参数构造使用的领域对象,之后在ServiceFunc中会按照构造实体的顺序进行回调 // 非必传,如果该字段为nil,则说明没有领域对象 // 与Objects字段二选一使用,如果都指定,会按照该字段处理 FormDomainObjectsFunc FormDomainObjectsFunc // 使用的领域对象,当使用Tag对实体进行标注后,可以直接通过该字段给定实体,之后在ServiceFunc中会按照给定实体的顺序进行回调 // 非必传,如果为nil或长度为0,则说明没有领域对象 // 与FormObjectsFunc字段二选一使用,如果都指定,会按照FormObjectsFunc字段处理 Objects []domain.Object // 应用服务泛型函数 ServiceFunc ServiceFunc[O] }
SimpleBindItem 简化的BindItem
type StaticBindItem ¶
type StaticBindItem struct { // 创建的静态绑定API的URL相对路径 RelativePath string // 目录的根路径 Root string // 传递的RelativePath是否包含了路由的BasePath WithBasePath bool }
StaticBindItem 静态BindItem
type StaticFileBindItem ¶
type StaticFileBindItem struct { // 创建的静态绑定API的URL相对路径 RelativePath string // 文件路径 FilePath string // 传递的RelativePath是否包含了路由的BasePath WithBasePath bool }
StaticFileBindItem 静态文件BindItem