ginext

package
v0.0.0-...-82b086f Latest Latest
Warning

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

Go to latest
Published: Jun 24, 2020 License: Apache-2.0 Imports: 21 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func CORS

func CORS() gin.HandlerFunc

CORS 跨域配置

func Handler

func Handler(process Process) gin.HandlerFunc

Handler .

func Init

func Init(c Config)

Init 初始化

func Logger

func Logger() gin.HandlerFunc

Logger 请求日志记录

func MergeStart

func MergeStart(addr string, closeWaitTime time.Duration, engines ...*gin.Engine)

MergeStart 将多个gin.engine合并至一个gin.engine中启动 默认500个路由,路由数为预估数量 小于实际数量会报错

func MergeStartWithRouterCount

func MergeStartWithRouterCount(addr string, closeWaitTime time.Duration, routersLen int, engines ...*gin.Engine)

MergeStartWithRouterCount 指定路由数量启动,小于实际数量会报错

func Recovery

func Recovery() gin.HandlerFunc

Recovery 异常捕获

func Start

func Start(addr string, closeWaitTime time.Duration, engine *gin.Engine)

Start web服务启动方法 addr 地址 closeWaitTime 关闭服务等待超时限制

Types

type BaseAuthRequest

type BaseAuthRequest struct {
	BaseRequest
	AuthInfo interface{}
}

BaseAuthRequest 统一返回对象

func (*BaseAuthRequest) Extract

func (b *BaseAuthRequest) Extract(c *gin.Context) (util.ResultCode, error)

Extract 参数提取

type BaseRequest

type BaseRequest struct {
}

BaseRequest 统一返回对象

func (*BaseRequest) DefaultExtract

func (b *BaseRequest) DefaultExtract(data interface{}, c *gin.Context) (code util.ResultCode, err error)

DefaultExtract 默认提取方法

func (*BaseRequest) Extract

func (b *BaseRequest) Extract(c *gin.Context) (util.ResultCode, error)

Extract 参数提取

func (*BaseRequest) ExtractWithBindFunc

func (b *BaseRequest) ExtractWithBindFunc(data interface{}, bindFunc func(obj interface{}) error) (c util.ResultCode, err error)

ExtractWithBindFunc extract with bindFunc

type BaseResponse

type BaseResponse struct {
	Code      util.ResultCode `json:"code"`             //业务状态码
	Status    bool            `json:"status"`           //状态【code==200】
	Msg       string          `json:"msg"`              //提示消息 一般为状态码对应信息
	RequestID interface{}     `json:"req_id,omitempty"` //请求ID
	Desc      string          `json:"desc,omitempty"`   //Error信息
}

BaseResponse 统一返回对象

func NewResponse

func NewResponse(ctx context.Context, resultCode util.ResultCode, err error) BaseResponse

NewResponse 根据业务状态码和err信息创建新的结构返回

func NewSuccessResponse

func NewSuccessResponse(ctx context.Context) BaseResponse

NewSuccessResponse success response

type Config

type Config interface {
	//ResultInfo code对应info信息
	//todo i18n
	ResultInfo(util.ResultCode) string
	//ContextConvert gin.Context转换为ctx方法,主要作用 可解析用户信息并向下透传给日志组件等记录用户信息
	ContextConvert(c *gin.Context) (newCtx context.Context, err error)
	//ExtractAuthorization 提取授权信息 jwt,token等
	ExtractAuthorization(c *gin.Context) (authorizationInfo interface{}, code util.ResultCode, err error)
}

Config 配置

type NullConfig

type NullConfig struct {
}

NullConfig .

func (*NullConfig) ContextConvert

func (n *NullConfig) ContextConvert(c *gin.Context) (newCtx context.Context, err error)

ContextConvert .

func (*NullConfig) ExtractAuthorization

func (n *NullConfig) ExtractAuthorization(c *gin.Context) (authorizationInfo interface{}, code util.ResultCode, err error)

ExtractAuthorization .

func (*NullConfig) ResultInfo

func (n *NullConfig) ResultInfo(util.ResultCode) string

ResultInfo .

type Process

type Process interface {
	New() Process
	Extract(c *gin.Context) (util.ResultCode, error)
	Exec(ctx context.Context) interface{}
}

Process 请求封装

Jump to

Keyboard shortcuts

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