From f82c69101197dd6031d6b3f7e0ca672de84305fc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=99=BD=E8=8C=B6=E6=B8=85=E6=AC=A2?= Date: Thu, 13 Feb 2025 11:37:48 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96ref=E7=94=9F=E6=88=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- generate.go | 28 ++++++---------------------- 1 file changed, 6 insertions(+), 22 deletions(-) diff --git a/generate.go b/generate.go index cf9916f..06f8dfa 100644 --- a/generate.go +++ b/generate.go @@ -206,7 +206,7 @@ func (g *Generate) AddApiFromInAndOut(baseCfg *define.UriBaseConfig, paramType r Summary: baseCfg.Summary, Description: baseCfg.Description, ExternalDocs: nil, - OperationID: defaultPkgPath + baseCfg.Method, + OperationID: baseCfg.Method + "-" + defaultPkgPath, Parameters: nil, RequestBody: &define.RequestBody{ Required: true, @@ -287,7 +287,7 @@ func (g *Generate) AddComponentsSchema(rootSchemaName string, pkgPath string, in Properties: make(map[string]*define.Property), Required: make([]string, 0), Enum: make([]any, 0), - Type: "", + Type: consts.SwaggerDataTypeObject, Ref: g.getSchemaRef(schemaName), } if len(rootSchemaName) == 0 || inputType.Kind() == reflect.Struct { @@ -305,7 +305,7 @@ func (g *Generate) AddComponentsSchema(rootSchemaName string, pkgPath string, in if len(rootSchemaName) == 0 { g.docData.Components.Schemas[schemaName].Type = consts.SwaggerDataTypeArray sliceItemType := g.parseSliceItem(schemaName, inputType) - g.docData.Components.Schemas[schemaName].Items = &define.PropertyXOf{Ref: g.getSchemaRef(g.getSchemaRef(sliceItemType))} + g.docData.Components.Schemas[schemaName].Items = &define.PropertyXOf{Ref: g.getSchemaRef(sliceItemType)} } else { sliceItemType := g.parseSliceItem(schemaName, inputType) g.docData.Components.Schemas[rootSchemaName].Properties[schemaName] = &define.Property{ @@ -356,7 +356,7 @@ func (g *Generate) AddComponentsSchema(rootSchemaName string, pkgPath string, in Format: inputType.Field(i).Type.String(), Description: ParseStructField.GetParamDesc(inputType.Field(i)), Items: &define.PropertyXOf{ - Ref: g.parseSliceItem(schemaName, inputType.Field(i).Type), + Ref: g.getSchemaRef(g.parseSliceItem(schemaName, inputType.Field(i).Type)), }, Properties: map[string]*define.Property{}, } @@ -407,22 +407,6 @@ func (g *Generate) parseSliceItem(rootSchemaName string, inputType reflect.Type) sliceValue := reflect.MakeSlice(inputType, 1, 1) sliceItemType := sliceValue.Index(0).Type() g.AddComponentsSchema(rootSchemaName, sliceItemType.PkgPath(), sliceItemType) - /* if rootSchemaName != "" { - g.docData.Components.Schemas[rootSchemaName].Properties[sliceItemType.PkgPath()] = &define.Property{ - Type: "", - Format: inputType.String(), - Enum: nil, - Default: "", - Description: "", - AllOf: nil, - OneOf: nil, - AnyOf: nil, - Items: nil, - AdditionalProperties: nil, - Properties: nil, - Ref: g.getSchemaRef(sliceItemType.PkgPath()), - } - }*/ if len(sliceItemType.PkgPath()) == 0 { return sliceItemType.String() } @@ -455,9 +439,9 @@ func (g *Generate) realBaseType2SwaggerType(realType string) string { case "byte", "*byte": return consts.SwaggerDataTypeByte case "float32", "*float32", "float64", "*float64": - return consts.SwaggerDataTypeNumber + return consts.SwaggerDataTypeDouble case "int", "*int", "uint", "*uint", "int64", "*int64", "uint64", "*uint64": - return consts.SwaggerDataTypeNumber + return consts.SwaggerDataTypeInteger case "int8", "*int8", "uint8", "*uint8", "int16", "*int16", "uint16", "*uint16", "int32", "*int32", "uint32", "*uint32": return consts.SwaggerDataTypeInteger default: