Documentation
¶
Index ¶
- Constants
- func CreateRoute[T any](r *Router, name string, pattern string, handler func(c *gin.Context, p *T), ...) error
- func EnableDebug()
- func EnableRelease()
- func EnableTest()
- func GenerateUrlByPattern(pattern string, params map[string]interface{}) (string, error)
- func GetMode() string
- func GouefMiddleware() gin.HandlerFunc
- func IsDebug() bool
- func IsRelease() bool
- func IsTest() bool
- func SetMode(mode string)
- type ErrorHandlerFunc
- type HandlerContext
- type HandlerContextParam
- type HandlerFunc
- type HandlerParamFunc
- type Method
- type Request
- type Response
- type Route
- type RouteList
- type Router
- func (r *Router) AddMultiMethodsRoute(name string, pattern string, handler interface{}, methods []Method) *Router
- func (r *Router) AddRoute(name string, pattern string, handler interface{}, method Method) error
- func (r *Router) AddRouteConnect(name string, pattern string, handler interface{}) error
- func (r *Router) AddRouteDelete(name string, pattern string, handler interface{}) error
- func (r *Router) AddRouteGet(name string, pattern string, handler interface{}) error
- func (r *Router) AddRouteHead(name string, pattern string, handler interface{}) error
- func (r *Router) AddRouteList(l *RouteList) error
- func (r *Router) AddRouteMethod(name string, pattern string, handler interface{}, method Method) error
- func (r *Router) AddRouteObject(route *Route) *Router
- func (r *Router) AddRouteOptions(name string, pattern string, handler interface{}) error
- func (r *Router) AddRoutePatch(name string, pattern string, handler interface{}) error
- func (r *Router) AddRoutePost(name string, pattern string, handler interface{}) error
- func (r *Router) AddRoutePut(name string, pattern string, handler interface{}) error
- func (r *Router) AddRouteTrace(name string, pattern string, handler interface{}) error
- func (r *Router) EnableDebug() bool
- func (r *Router) EnableMode(mode string) bool
- func (r *Router) EnablePrefetch() *Router
- func (r *Router) EnableRelease() bool
- func (r *Router) EnableTest() bool
- func (r *Router) ErrorHandlerMiddleware() gin.HandlerFunc
- func (r *Router) GenerateUrlByName(name string, params map[string]interface{}) (string, error)
- func (r *Router) GenerateUrlByPattern(pattern string, params map[string]interface{}) (string, error)
- func (r *Router) GetHtmlRenderer() render.HTMLRender
- func (r *Router) GetMode() string
- func (r *Router) GetNativeRouter() *gin.Engine
- func (r *Router) GetRoutes() map[string]*Route
- func (r *Router) IsDebug() bool
- func (r *Router) IsMode(mode string) bool
- func (r *Router) IsRelease() bool
- func (r *Router) IsTest() bool
- func (r *Router) Run(addr string) error
- func (r *Router) SetDefaultErrorHandler(handler ErrorHandlerFunc) *Router
- func (r *Router) SetErrorHandler(status int, handler ErrorHandlerFunc) *Router
- func (r *Router) SetHtmlRenderer(renderer render.HTMLRender) *Router
- func (r *Router) SetMode(mode string) *Router
Constants ¶
const ( // DebugMode indicates Mode is debug. DebugMode = "debug" // ReleaseMode indicates Mode is release. ReleaseMode = "release" // TestMode indicates Mode is test. TestMode = "test" )
Variables ¶
This section is empty.
Functions ¶
func CreateRoute ¶ added in v0.2.0
func CreateRoute[T any](r *Router, name string, pattern string, handler func(c *gin.Context, p *T), method Method) error
CreateRoute add generic route to router. Name: Name id for url construct Pattern: path to route, example "/users/:id". Handler: func(c *gin.Context, p *struct) Method: Method
Example:
CreateRoute(router, "user:detail", "/users/:id", func(c *gin.Context, p *struct{ ID int `uri:"id" binding:"required"` }) { // code c.JSON(http.StatusOK, gin.H{ "id": p.ID, }) }, Get)
func GenerateUrlByPattern ¶ added in v0.6.1
GenerateUrlByPattern generate url by Pattern
func GouefMiddleware ¶ added in v1.2.5
func GouefMiddleware() gin.HandlerFunc
Types ¶
type ErrorHandlerFunc ¶ added in v0.4.0
type HandlerContext ¶ added in v1.2.6
type HandlerContextParam ¶ added in v1.2.6
type HandlerFunc ¶ added in v1.2.6
type HandlerParamFunc ¶ added in v1.2.6
type Request ¶ added in v1.2.6
Request struct to work with input data
type Response ¶ added in v1.2.6
func (*Response) SendJSON ¶ added in v1.2.6
func (r *Response) SendJSON(data interface{})
SendJSON send JSON response
func (*Response) SendTemplate ¶ added in v1.2.6
SendTemplate render HTML template
type Route ¶
func (*Route) GetHandler ¶ added in v0.2.2
func (r *Route) GetHandler() interface{}
GetHandler get route Handler
func (*Route) GetPattern ¶ added in v0.2.2
GetPattern get route Pattern
type RouteList ¶
type RouteList struct {
// contains filtered or unexported fields
}
func CreateRouteList ¶ added in v0.2.2
CreateRouteList create RouteList
type Router ¶
type Router struct { Router *gin.Engine Routes map[string]*Route ErrorHandlers map[int]ErrorHandlerFunc DefaultHandler ErrorHandlerFunc Mode *mode.Mode // contains filtered or unexported fields }
func (*Router) AddMultiMethodsRoute ¶ added in v0.2.0
func (r *Router) AddMultiMethodsRoute(name string, pattern string, handler interface{}, methods []Method) *Router
AddMultiMethodsRoute add route with multiple methods to router. Name: Name id for url construct Pattern: path to route, example "/users/:id". Handler: func(c *gin.Context, p *struct) methods: []Method
Example:
router.AddMultiMethodsRoute("user:detail", "/users/:id", func(c *gin.Context, p *struct{ ID int `uri:"id" binding:"required"` }) { // code c.JSON(http.StatusOK, gin.H{ "id": p.ID, }) }, []Method{Get, Post}, )
func (*Router) AddRoute ¶ added in v0.2.0
AddRoute add route to router. Name: Name id for url construct Pattern: path to route, example "/users/:id". Handler: func(c *gin.Context, p *struct) Method: Method
Example:
router.AddRoute("user:detail", "/users/:id", func(c *gin.Context, p *struct{ ID int `uri:"id" binding:"required"` }) { // code c.JSON(http.StatusOK, gin.H{ "id": p.ID, }) }, Get)
func (*Router) AddRouteConnect ¶ added in v0.2.2
func (*Router) AddRouteDelete ¶ added in v0.2.2
AddRouteDelete add Delete route to router. Name: Name id for url construct Pattern: path to route, example "/users/:id". Handler: func(c *gin.Context, p *struct)
Example:
router.AddRouteDelete("user:detail", "/users/:id", func(c *gin.Context, p *struct{ ID int `uri:"id" binding:"required"` }) { // code c.JSON(http.StatusOK, gin.H{ "id": p.ID, }) })
func (*Router) AddRouteGet ¶ added in v0.2.0
AddRouteGet add GET route to router. Name: Name id for url construct Pattern: path to route, example "/users/:id". Handler: func(c *gin.Context, p *struct)
Example:
router.AddRouteGet("user:detail", "/users/:id", func(c *gin.Context, p *struct{ ID int `uri:"id" binding:"required"` }) { // code c.JSON(http.StatusOK, gin.H{ "id": p.ID, }) })
func (*Router) AddRouteHead ¶ added in v0.2.2
func (*Router) AddRouteList ¶ added in v0.2.2
AddRouteList add RouteList to router Example:
lr := NewRouteList() v1 := CreateRouteList("/v1") lr.addChild(v1) lr.Add("/:locale/products/:id", productDetailHandler, Get) v1.Add("/:locale/products/:id", productDetailHandler, Get) router := NewRouter() router.AddRouteList(lr)
func (*Router) AddRouteMethod ¶ added in v0.2.2
func (r *Router) AddRouteMethod(name string, pattern string, handler interface{}, method Method) error
AddRouteMethod add route to router. Name: Name id for url construct Pattern: path to route, example "/users/:id". Handler: func(c *gin.Context, p *struct) Method: Method
Example:
router.AddRouteMethod("user:detail", "/users/:id", func(c *gin.Context, p *struct{ ID int `uri:"id" binding:"required"` }) { // code c.JSON(http.StatusOK, gin.H{ "id": p.ID, }) }, Get)
func (*Router) AddRouteObject ¶ added in v0.6.1
func (*Router) AddRouteOptions ¶ added in v0.2.2
func (*Router) AddRoutePatch ¶ added in v0.2.2
AddRoutePatch add Path route to router. Name: Name id for url construct Pattern: path to route, example "/users/:id". Handler: func(c *gin.Context, p *struct)
Example:
router.AddRoutePatch("user:detail", "/users/:id", func(c *gin.Context, p *struct{ ID int `uri:"id" binding:"required"` }) { // code c.JSON(http.StatusOK, gin.H{ "id": p.ID, }) })
func (*Router) AddRoutePost ¶ added in v0.2.0
AddRoutePost add POST route to router. Name: Name id for url construct Pattern: path to route, example "/users/:id". Handler: func(c *gin.Context, p *struct)
Example:
router.AddRoutePost("user:detail", "/users/:id", func(c *gin.Context, p *struct{ ID int `uri:"id" binding:"required"` }) { // code c.JSON(http.StatusOK, gin.H{ "id": p.ID, }) })
func (*Router) AddRoutePut ¶ added in v0.2.2
AddRoutePut add Put route to router. Name: Name id for url construct Pattern: path to route, example "/users/:id". Handler: func(c *gin.Context, p *struct)
Example:
router.AddRoutePut("/users/:id", func(c *gin.Context, p *struct{ ID int `uri:"id" binding:"required"` }) { // code c.JSON(http.StatusOK, gin.H{ "id": p.ID, }) })
func (*Router) AddRouteTrace ¶ added in v0.2.2
func (*Router) EnableDebug ¶ added in v0.8.0
func (*Router) EnableMode ¶ added in v1.0.0
func (*Router) EnablePrefetch ¶ added in v1.2.7
func (*Router) EnableRelease ¶ added in v0.8.0
EnableRelease set Mode release for project and gin
func (*Router) EnableTest ¶ added in v0.8.0
func (*Router) ErrorHandlerMiddleware ¶ added in v0.4.0
func (r *Router) ErrorHandlerMiddleware() gin.HandlerFunc
ErrorHandlerMiddleware middleware for customization error stats responses
func (*Router) GenerateUrlByName ¶ added in v0.6.0
func (*Router) GenerateUrlByPattern ¶ added in v0.6.0
func (*Router) GetHtmlRenderer ¶ added in v1.2.10
func (r *Router) GetHtmlRenderer() render.HTMLRender
GetHtmlRenderer get html renderer
func (*Router) GetNativeRouter ¶ added in v0.2.0
GetNativeRouter return gin router engine Docs continue in gin.Engine
func (*Router) Run ¶ added in v0.2.0
Run attaches the router to a http.Server and starts listening and serving HTTP requests. It is a shortcut for http.ListenAndServe(addr, router) Note: this Method will block the calling goroutine indefinitely unless an error happens.
func (*Router) SetDefaultErrorHandler ¶ added in v0.4.1
func (r *Router) SetDefaultErrorHandler(handler ErrorHandlerFunc) *Router
SetDefaultErrorHandler set default error Handler Example:
router.SetDefaultErrorHandler(func(c *gin.Context) { c.JSON(http.StatusNotFound, gin.H{ "error": "Custom 404", })
func (*Router) SetErrorHandler ¶ added in v0.4.0
func (r *Router) SetErrorHandler(status int, handler ErrorHandlerFunc) *Router
SetErrorHandler set Error Handler for status code Example:
router.SetErrorHandler(400, func(c *gin.Context) { status := c.Writer.Status() c.JSON(status, gin.H{ "error": "An error occurred", "description": "No specific Handler defined for this status", }) })
func (*Router) SetHtmlRenderer ¶ added in v1.2.6
func (r *Router) SetHtmlRenderer(renderer render.HTMLRender) *Router
SetHtmlRenderer set html renderer