增加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