增加api注册(按照接口约束的模式)
This commit is contained in:
parent
957ba155df
commit
0817fa0ab8
26
gin/api/api.go
Normal file
26
gin/api/api.go
Normal file
@ -0,0 +1,26 @@
|
|||||||
|
// Package gin ...
|
||||||
|
//
|
||||||
|
// Description : 便捷的相关API处理
|
||||||
|
//
|
||||||
|
// Author : go_developer@163.com<张德满>
|
||||||
|
//
|
||||||
|
// Date : 2021-03-26 2:06 下午
|
||||||
|
package api
|
||||||
|
|
||||||
|
import "github.com/gin-gonic/gin"
|
||||||
|
|
||||||
|
// IApi 每一个接口的实现约束
|
||||||
|
//
|
||||||
|
// Author : go_developer@163.com<张德满>
|
||||||
|
//
|
||||||
|
// Date : 2:08 下午 2021/3/26
|
||||||
|
type IApi interface {
|
||||||
|
// GetMethod 接口请求方法
|
||||||
|
GetMethod() string
|
||||||
|
// GetURI 接口URI
|
||||||
|
GetURI() string
|
||||||
|
// GetMiddleWareList 使用的中间件列表
|
||||||
|
GetMiddleWareList() []gin.HandlerFunc
|
||||||
|
// 处理的handler
|
||||||
|
GetHandler() gin.HandlerFunc
|
||||||
|
}
|
56
gin/api/register.go
Normal file
56
gin/api/register.go
Normal file
@ -0,0 +1,56 @@
|
|||||||
|
// Package api ...
|
||||||
|
//
|
||||||
|
// Description : 注册路由
|
||||||
|
//
|
||||||
|
// Author : go_developer@163.com<张德满>
|
||||||
|
//
|
||||||
|
// Date : 2021-03-26 2:13 下午
|
||||||
|
package api
|
||||||
|
|
||||||
|
import (
|
||||||
|
"log"
|
||||||
|
|
||||||
|
"github.com/gin-gonic/gin"
|
||||||
|
"github.com/go-developer/gopkg/gin/util"
|
||||||
|
)
|
||||||
|
|
||||||
|
var (
|
||||||
|
// DebugLogEnable 默认打开debug日志
|
||||||
|
DebugLogEnable = true
|
||||||
|
)
|
||||||
|
|
||||||
|
// DisableDebugLog 禁用debug日志
|
||||||
|
//
|
||||||
|
// Author : go_developer@163.com<张德满>
|
||||||
|
//
|
||||||
|
// Date : 2:17 下午 2021/3/26
|
||||||
|
func DisableDebugLog() {
|
||||||
|
DebugLogEnable = false
|
||||||
|
}
|
||||||
|
|
||||||
|
// RegisterRouter 注册一个路由
|
||||||
|
//
|
||||||
|
// Author : go_developer@163.com<张德满>
|
||||||
|
//
|
||||||
|
// Date : 2:14 下午 2021/3/26
|
||||||
|
func RegisterRouter(router *gin.Engine, apiInstanceList []IApi) error {
|
||||||
|
for _, apiInstance := range apiInstanceList {
|
||||||
|
if err := util.RegisterRouter(router, apiInstance.GetMethod(), apiInstance.GetURI(), apiInstance.GetHandler(), apiInstance.GetMiddleWareList()); nil != err {
|
||||||
|
routerLog(err)
|
||||||
|
panic(err.Error())
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
// routerLog 记录日志
|
||||||
|
//
|
||||||
|
// Author : go_developer@163.com<张德满>
|
||||||
|
//
|
||||||
|
// Date : 2:28 下午 2021/3/26
|
||||||
|
func routerLog(err error) {
|
||||||
|
if !DebugLogEnable || nil == err {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
log.Fatal(err.Error())
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user