修复默认值解析以及枚举值解析的BUG

This commit is contained in:
2025-02-13 21:11:27 +08:00
parent f1c0e473f4
commit 45a25e0018
4 changed files with 68 additions and 10 deletions

View File

@ -10,6 +10,8 @@ package api_doc
import (
"git.zhangdeman.cn/gateway/api-doc/define"
"reflect"
"strconv"
"strings"
)
var (
@ -62,14 +64,37 @@ func (psf parseStructField) GetParamDesc(structField reflect.StructField) string
// Author : go_developer@163.com<白茶清欢>
//
// Date : 22:05 2025/2/11
func (psf parseStructField) GetDefaultValue(structField reflect.StructField) string {
func (psf parseStructField) GetDefaultValue(structField reflect.StructField) any {
defaultTagList := []string{define.TagD, define.TagDefault}
fieldType := structField.Type.Kind().String()
for _, tag := range defaultTagList {
if tagVal, exist := structField.Tag.Lookup(tag); exist {
return tagVal
if val, exist := structField.Tag.Lookup(tag); exist && val != "" {
if strings.HasPrefix(fieldType, "int") {
i, _ := strconv.Atoi(val)
return i
}
if strings.HasPrefix(fieldType, "uint") {
uintVal, _ := strconv.ParseUint(val, 10, 64)
return uintVal
}
if strings.HasPrefix(fieldType, "float") {
floatVal, _ := strconv.ParseFloat(val, 64)
return floatVal
}
if strings.HasPrefix(fieldType, "string") {
return val
}
if strings.HasPrefix(fieldType, "bool") {
if val == "true" {
return true
} else {
return false
}
}
return val
}
}
return ""
return nil
}
// GetValidateRule 获取验证规则