增加api注册(按照接口约束的模式)
This commit is contained in:
		
							
								
								
									
										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()) | ||||
| } | ||||
		Reference in New Issue
	
	Block a user