feat: 修复枚举值赋值问题
This commit is contained in:
@@ -120,27 +120,6 @@ func ParseStructField(field reflect.StructField) *StructFieldInfo {
|
||||
return info
|
||||
}
|
||||
|
||||
func parseExampleValue(example string, t reflect.Type) interface{} {
|
||||
// 根据类型解析示例值
|
||||
switch t.Kind() {
|
||||
case reflect.String:
|
||||
return example
|
||||
case reflect.Int, reflect.Int8, reflect.Int16, reflect.Int32, reflect.Int64:
|
||||
if val, err := strconv.ParseInt(example, 10, 64); err == nil {
|
||||
return val
|
||||
}
|
||||
case reflect.Float32, reflect.Float64:
|
||||
if val, err := strconv.ParseFloat(example, 64); err == nil {
|
||||
return val
|
||||
}
|
||||
case reflect.Bool:
|
||||
if val, err := strconv.ParseBool(example); err == nil {
|
||||
return val
|
||||
}
|
||||
}
|
||||
return example
|
||||
}
|
||||
|
||||
// GenerateOpenAPISchema 生成完整的 OpenAPI Schema
|
||||
func GenerateOpenAPISchema(s interface{}) *openapi3.SchemaRef {
|
||||
t := reflect.TypeOf(s)
|
||||
@@ -267,7 +246,10 @@ func applyFieldInfoToSchema(schema *openapi3.Schema, info *StructFieldInfo) {
|
||||
schema.Format = info.Format
|
||||
}
|
||||
if len(info.Enum) > 0 {
|
||||
schema.Enum = info.Enum
|
||||
schema.Enum = make([]any, 0)
|
||||
for _, item := range info.Enum {
|
||||
schema.Enum = append(schema.Enum, item.Value)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user