# autoRoute **Repository Path**: fantasy_city/autoRoute ## Basic Information - **Project Name**: autoRoute - **Description**: GIN Rapid Development Kit, less code, faster - **Primary Language**: Unknown - **License**: Apache-2.0 - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2024-04-26 - **Last Updated**: 2024-04-26 ## Categories & Tags **Categories**: Uncategorized **Tags**: Gin, Route, Router, API ## README


AutoRoute

#### 项目简介 > Gin框架的路由中间件 > 极速创建 极速开发 > 致力于接口开发尽可能少的修改文件 > 纵享丝滑 #### 运行项目 ``` gameHandler.go package handler import ( "github.com/gin-gonic/gin" "github.com/odinZzzzz/autoRoute" ) type gameHandler struct { autoRoute.AutoHandler } // 接口预处理函数 如果入参 不携带指定参数就拒绝访问 func (c gameHandler) HandlerPre(msg map[string]interface{}) bool { checkRes := true if msg["token"] != "12306" { checkRes = false } return checkRes } type paramDefine struct { A string Gin *gin.Context } func (c gameHandler) Login(msg map[string]interface{}) interface{} { loginParam := autoRoute.FormatParam(msg, paramDefine{}) //参数中会注入gin.Context 置空后返回 loginParam.Gin = nil return c.Suc(gin.H{ "uid": 10000001, "nickname": "芥末", "msg": loginParam, "msg1": loginParam.A, }) } ``` - 1 query参数a会自动匹配到大写A的struct属性中 - 2 token 为示例中HandlerPre 接口的透参 - 3 接口 127.0.0.1:8080/game/Login?token=12306&&a=123 - query 和 raw 合并在了msg的map里 ![img.png](img.png) - ```bash go mod tidy go run main.go ```