diff --git a/openapi/schema.go b/openapi/schema.go index a9920d4..20b192b 100644 --- a/openapi/schema.go +++ b/openapi/schema.go @@ -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) + } } }