修复jsonBody重复生成的BUG

This commit is contained in:
白茶清欢 2024-04-23 13:49:12 +08:00
parent 015dff14d0
commit ee48b651a8
2 changed files with 12 additions and 4 deletions

View File

@ -137,8 +137,8 @@ func generatePathParameterConfig(swaggerInfo *define.Swagger, pathConfig *define
parentPath = pathConfig.Uri + ".jsonBody"
}
generateParameterDefinitions(swaggerInfo, pathConfig.Uri, parentPath, itemParamInput.Name, itemParamInput)
if _, exist := hasDealTable[namePath[0]]; !exist {
hasDealTable[namePath[0]] = true
if _, exist := hasDealTable[realParamName]; !exist {
hasDealTable[realParamName] = true
generateParam := &define.SwaggerPathConfigParameter{
Type: wrapper.TernaryOperator.String(realParamName == "jsonBody", "", wrapper.String(itemParamInput.Type)).Value(),
Description: wrapper.TernaryOperator.String(realParamName == "jsonBody", "参数结构", wrapper.String(itemParamInput.Description)).Value(),
@ -216,7 +216,7 @@ func generateParameterDefinitions(swaggerInfo *define.Swagger, uri string, paren
}
swaggerInfo.Definitions[parentPath].Properties[paramConfig.Name] = &define.SwaggerDefinitionProperty{
Description: paramConfig.Description,
Type: paramConfig.Type,
Type: util.GetSwaggerType(paramConfig.Type),
}
return
}

View File

@ -43,7 +43,7 @@ func TestGenerate(t *testing.T) {
ContentType: consts.MimeTypeJson,
Summary: "测试接口",
Description: "测试接口",
TagList: []string{"test"},
TagList: []string{"测试接口生成"},
ParameterList: []*define.SwaggerParameterInput{
&define.SwaggerParameterInput{
Type: consts.DataTypeString,
@ -53,6 +53,14 @@ func TestGenerate(t *testing.T) {
Required: true,
EnumList: []interface{}{"zhang", "de", "man"},
},
&define.SwaggerParameterInput{
Type: consts.DataTypeInt,
Description: "年龄",
Name: "age",
In: "body",
Required: true,
EnumList: []interface{}{18, 19, 20},
},
},
ResponseList: []*define.SwaggerResponseInput{
&define.SwaggerResponseInput{