feat: meta元数据支持配置最大接口执行时间

This commit is contained in:
2025-12-26 11:35:41 +08:00
parent 03c1eadd60
commit ac6c707e29
2 changed files with 12 additions and 0 deletions

View File

@@ -10,6 +10,8 @@ package router
import (
"reflect"
"strings"
"git.zhangdeman.cn/zhangdeman/util"
)
// controller 解析controller有哪些方法要注册为接口
@@ -132,4 +134,12 @@ func (c controller) setUriMeta(metaField reflect.StructField, cfg *UriConfig) {
cfg.IsWebsocket = boolMetaParse(TagNameIsWebsocket) // 是否是 websocket 接口
cfg.IsSse = boolMetaParse(TagNameIsSse) // 是否是 sse 接口
cfg.NoLogin = boolMetaParse(TagNameNoLogin) // 是否需要登录
// 最大执行时间
cfg.MaxExecTime = uint(0)
if tagVal := strings.ToLower(metaField.Tag.Get(TagNameMaxExecTime)); tagVal != "" {
if err := util.ConvertAssign(&cfg.MaxExecTime, tagVal); nil != err {
panic(cfg.Path + " : 最大执行时间配置错误(配置的值必须是无符号整型), 请检查配置 : " + err.Error())
}
}
}