diff --git a/generate.go b/generate.go index 8433d85..12348d2 100644 --- a/generate.go +++ b/generate.go @@ -330,7 +330,7 @@ func (g *Generate) ParseReadConfigParam(requestCfg *define.UriBaseConfig, baseRe // 匿名字段, 直接对齐到当前的父级 g.ParseReadConfigParam(requestCfg, baseReqCfg, inputType.Field(i).Type) } - propertyName := ParseStructField.GetParamName(inputType.Field(i)) + propertyName := ParseStructFieldTag.GetParamName(inputType.Field(i)) if propertyName == "-" { continue } @@ -352,9 +352,9 @@ func (g *Generate) ParseReadConfigParam(requestCfg *define.UriBaseConfig, baseRe baseReqCfg.Parameters = append(baseReqCfg.Parameters, &define.PathConfigParameter{ Name: propertyName, In: consts.SwaggerParameterInQuery, - Description: ParseStructField.GetParamDesc(inputType.Field(i)), + Description: ParseStructFieldTag.GetParamDesc(inputType.Field(i)), Required: ValidateRule.IsRequired(inputType.Field(i)), - Deprecated: ParseStructField.Deprecated(inputType.Field(i)), + Deprecated: ParseStructFieldTag.Deprecated(inputType.Field(i)), Schema: &define.Schema{ // Format: realInputTypeFormat, Ref: g.getSchemaRef(schemaNameNext), @@ -368,9 +368,9 @@ func (g *Generate) ParseReadConfigParam(requestCfg *define.UriBaseConfig, baseRe baseReqCfg.Parameters = append(baseReqCfg.Parameters, &define.PathConfigParameter{ Name: propertyName, In: consts.SwaggerParameterInQuery, - Description: ParseStructField.GetParamDesc(inputType.Field(i)), + Description: ParseStructFieldTag.GetParamDesc(inputType.Field(i)), Required: ValidateRule.IsRequired(inputType.Field(i)), - Deprecated: ParseStructField.Deprecated(inputType.Field(i)), + Deprecated: ParseStructFieldTag.Deprecated(inputType.Field(i)), Schema: &define.Schema{ Type: g.realBaseType2SwaggerType(inputType.Field(i).Type.String()), Format: realInputTypeFormat, @@ -390,11 +390,11 @@ func (g *Generate) ParseReadConfigParam(requestCfg *define.UriBaseConfig, baseRe if convertType := g.realBaseType2SwaggerType(fieldType.String()); !strings.HasPrefix(convertType, "[]") && convertType != inputType.Field(i).Type.Kind().String() { // 针对基础类型指针 baseReqCfg.Parameters = append(baseReqCfg.Parameters, &define.PathConfigParameter{ - Name: ParseStructField.GetParamName(inputType.Field(i)), + Name: ParseStructFieldTag.GetParamName(inputType.Field(i)), In: consts.SwaggerParameterInQuery, - Description: ParseStructField.GetParamDesc(inputType.Field(i)), + Description: ParseStructFieldTag.GetParamDesc(inputType.Field(i)), Required: ValidateRule.IsRequired(inputType.Field(i)), - Deprecated: ParseStructField.Deprecated(inputType.Field(i)), + Deprecated: ParseStructFieldTag.Deprecated(inputType.Field(i)), Schema: &define.Schema{ Type: g.realBaseType2SwaggerType(inputType.Field(i).Type.String()), Items: nil, @@ -411,11 +411,11 @@ func (g *Generate) ParseReadConfigParam(requestCfg *define.UriBaseConfig, baseRe } } else { baseReqCfg.Parameters = append(baseReqCfg.Parameters, &define.PathConfigParameter{ - Name: ParseStructField.GetParamName(inputType.Field(i)), + Name: ParseStructFieldTag.GetParamName(inputType.Field(i)), In: consts.SwaggerParameterInQuery, - Description: ParseStructField.GetParamDesc(inputType.Field(i)), + Description: ParseStructFieldTag.GetParamDesc(inputType.Field(i)), Required: ValidateRule.IsRequired(inputType.Field(i)), - Deprecated: ParseStructField.Deprecated(inputType.Field(i)), + Deprecated: ParseStructFieldTag.Deprecated(inputType.Field(i)), Schema: &define.Schema{ Type: g.realBaseType2SwaggerType(inputType.Field(i).Type.String()), Items: nil, @@ -510,7 +510,7 @@ func (g *Generate) AddComponentsSchema(rootSchemaName string, pkgPath string, in g.handleAnonymousField(schemaName, inputType.Field(i)) continue } - propertyName := ParseStructField.GetParamName(inputType.Field(i)) + propertyName := ParseStructFieldTag.GetParamName(inputType.Field(i)) if propertyName == "-" { continue } @@ -527,8 +527,8 @@ func (g *Generate) AddComponentsSchema(rootSchemaName string, pkgPath string, in g.docData.Components.Schemas[schemaName].Properties[propertyName] = &define.Property{ Type: g.realBaseType2SwaggerType(g.realBaseType2SwaggerType(inputType.Field(i).Type.String())), Format: inputType.Field(i).Type.String(), - Default: ParseStructField.GetDefaultValue(inputType.Field(i)), - Description: ParseStructField.GetParamDesc(inputType.Field(i)), + Default: ParseStructFieldTag.GetDefaultValue(inputType.Field(i)), + Description: ParseStructFieldTag.GetParamDesc(inputType.Field(i)), } } continue @@ -542,7 +542,7 @@ func (g *Generate) AddComponentsSchema(rootSchemaName string, pkgPath string, in g.docData.Components.Schemas[schemaName].Properties[propertyName] = &define.Property{ Type: consts.SwaggerDataTypeObject, Format: inputType.Field(i).Type.String(), - Description: ParseStructField.GetParamDesc(inputType.Field(i)), + Description: ParseStructFieldTag.GetParamDesc(inputType.Field(i)), Properties: map[string]*define.Property{}, } } else if inputType.Field(i).Type.Kind() == reflect.Array || @@ -550,7 +550,7 @@ func (g *Generate) AddComponentsSchema(rootSchemaName string, pkgPath string, in g.docData.Components.Schemas[schemaName].Properties[propertyName] = &define.Property{ Type: consts.SwaggerDataTypeArray, Format: inputType.Field(i).Type.String(), - Description: ParseStructField.GetParamDesc(inputType.Field(i)), + Description: ParseStructFieldTag.GetParamDesc(inputType.Field(i)), Items: &define.PropertyXOf{ Ref: g.getSchemaRef(g.parseSliceItem(schemaName, inputType.Field(i).Type)), }, @@ -564,8 +564,8 @@ func (g *Generate) AddComponentsSchema(rootSchemaName string, pkgPath string, in g.docData.Components.Schemas[schemaName].Properties[propertyName] = &define.Property{ Type: g.realBaseType2SwaggerType(inputType.Field(i).Type.String()), Format: inputType.Field(i).Type.String(), - Default: ParseStructField.GetDefaultValue(inputType.Field(i)), - Description: ParseStructField.GetParamDesc(inputType.Field(i)), + Default: ParseStructFieldTag.GetDefaultValue(inputType.Field(i)), + Description: ParseStructFieldTag.GetParamDesc(inputType.Field(i)), } } // 设置参数各种属性 @@ -615,13 +615,13 @@ func (g *Generate) handleAnonymousField(schemaName string, field reflect.StructF g.AddComponentsSchema(schemaName, handleType.Field(i).Type.PkgPath(), handleType.Field(i).Type) continue } else { - paramName := ParseStructField.GetParamName(itemField) + paramName := ParseStructFieldTag.GetParamName(itemField) g.docData.Components.Schemas[schemaName].Properties[paramName] = &define.Property{ Type: g.realBaseType2SwaggerType(handleType.Field(i).Type.String()), Format: handleType.Field(i).Type.String(), Enum: ValidateRule.Enum(handleType.Field(i)), - Default: ParseStructField.GetDefaultValue(handleType.Field(i)), - Description: ParseStructField.GetParamDesc(handleType.Field(i)), + Default: ParseStructFieldTag.GetDefaultValue(handleType.Field(i)), + Description: ParseStructFieldTag.GetParamDesc(handleType.Field(i)), } if ValidateRule.IsRequired(itemField) { g.docData.Components.Schemas[schemaName].Required = append(g.docData.Components.Schemas[schemaName].Required, paramName) @@ -708,11 +708,11 @@ func (g *Generate) realType2SwaggerType(realType string) string { // // Date : 16:13 2025/2/13 func (g *Generate) setStructFieldProperty(schemaName string, structField reflect.StructField) { - paramName := ParseStructField.GetParamName(structField) + paramName := ParseStructFieldTag.GetParamName(structField) if ValidateRule.IsRequired(structField) { g.docData.Components.Schemas[schemaName].Required = append(g.docData.Components.Schemas[schemaName].Required, paramName) } - g.docData.Components.Schemas[schemaName].Properties[ParseStructField.GetParamName(structField)].Enum = ValidateRule.Enum(structField) + g.docData.Components.Schemas[schemaName].Properties[ParseStructFieldTag.GetParamName(structField)].Enum = ValidateRule.Enum(structField) } // parseBaseUriConfig 通过Meta字段解析Uri基础配置信息 @@ -769,7 +769,7 @@ func (g *Generate) parseBaseUriConfig(uriPrefix string, paramType reflect.Type) responseContentType = consts.MimeTypeJson } res.OutputContentType = strings.Split(responseContentType, ",") - res.Summary = ParseStructField.Summary(metaField) + res.Summary = ParseStructFieldTag.Summary(metaField) if res.Method == "" { return nil, errors.New("baseCfg.Method is empty") } diff --git a/struct_field.go b/struct_field.go index 18a165d..f7f3561 100644 --- a/struct_field.go +++ b/struct_field.go @@ -15,10 +15,10 @@ import ( ) var ( - ParseStructField = parseStructField{} + ParseStructFieldTag = parseStructFieldTag{} ) -type parseStructField struct { +type parseStructFieldTag struct { } // GetParamName 获取参数名称 @@ -26,7 +26,7 @@ type parseStructField struct { // Author : go_developer@163.com<白茶清欢> // // Date : 21:58 2025/2/11 -func (psf parseStructField) GetParamName(structField reflect.StructField) string { +func (psf parseStructFieldTag) GetParamName(structField reflect.StructField) string { paramNameTagList := []string{ define.TagJson, define.TagForm, define.TagXml, define.TagYaml, @@ -49,7 +49,7 @@ func (psf parseStructField) GetParamName(structField reflect.StructField) string // Author : go_developer@163.com<白茶清欢> // // Date : 22:01 2025/2/11 -func (psf parseStructField) GetParamDesc(structField reflect.StructField) string { +func (psf parseStructFieldTag) GetParamDesc(structField reflect.StructField) string { descTagList := []string{define.TagDesc, define.TagDescription} for _, tag := range descTagList { tagVal := structField.Tag.Get(tag) @@ -66,7 +66,7 @@ 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) any { +func (psf parseStructFieldTag) GetDefaultValue(structField reflect.StructField) any { defaultTagList := []string{define.TagD, define.TagDefault} fieldType := structField.Type.Kind().String() for _, tag := range defaultTagList { @@ -104,7 +104,7 @@ func (psf parseStructField) GetDefaultValue(structField reflect.StructField) any // Author : go_developer@163.com<白茶清欢> // // Date : 15:30 2025/2/13 -func (psf parseStructField) GetValidateRule(structField reflect.StructField) string { +func (psf parseStructFieldTag) GetValidateRule(structField reflect.StructField) string { defaultTagList := []string{define.TagValidate, define.TagBinding} for _, tag := range defaultTagList { if tagVal, exist := structField.Tag.Lookup(tag); exist && len(tagVal) > 0 { @@ -119,7 +119,7 @@ func (psf parseStructField) GetValidateRule(structField reflect.StructField) str // Author : go_developer@163.com<白茶清欢> // // Date : 21:12 2025/2/13 -func (psf parseStructField) Deprecated(structField reflect.StructField) bool { +func (psf parseStructFieldTag) Deprecated(structField reflect.StructField) bool { defaultTagList := []string{define.TagDeprecated} for _, tag := range defaultTagList { if tagVal, exist := structField.Tag.Lookup(tag); exist && (tagVal == "1" || strings.ToLower(tagVal) == "true") { @@ -134,7 +134,7 @@ func (psf parseStructField) Deprecated(structField reflect.StructField) bool { // Author : go_developer@163.com<白茶清欢> // // Date : 15:15 2025/2/14 -func (psf parseStructField) Summary(structField reflect.StructField) string { +func (psf parseStructFieldTag) Summary(structField reflect.StructField) string { defaultTagList := []string{define.TagSummary} for _, tag := range defaultTagList { if tagVal, exist := structField.Tag.Lookup(tag); exist && len(tagVal) > 0 { diff --git a/validate_rule.go b/validate_rule.go index a4fa52c..e33f0e9 100644 --- a/validate_rule.go +++ b/validate_rule.go @@ -85,7 +85,7 @@ func (r validateRule) Enum(structField reflect.StructField) []any { // Date : 15:29 2025/2/13 func (r validateRule) getValidateRuleTable(structField reflect.StructField) map[string]string { res := map[string]string{} - ruleStr := ParseStructField.GetValidateRule(structField) + ruleStr := ParseStructFieldTag.GetValidateRule(structField) if len(ruleStr) == 0 { return res }