参数增加必传解析

This commit is contained in:
2025-02-13 16:03:31 +08:00
parent 0e4f5ae1e3
commit bc5a8afd6c
4 changed files with 85 additions and 16 deletions

View File

@ -278,19 +278,13 @@ func (g *Generate) AddComponentsSchema(rootSchemaName string, pkgPath string, in
schemaName := strings.ReplaceAll(pkgPath+"."+inputName, "/", "-")
if _, exist := g.docData.Components.Schemas[schemaName]; !exist {
s := &define.Schema{
Nullable: false,
Discriminator: nil,
ReadOnly: false,
WriteOnly: false,
Xml: nil,
ExternalDocs: nil,
Example: "",
Deprecated: false,
Properties: make(map[string]*define.Property),
Required: make([]string, 0),
Enum: make([]any, 0),
Type: consts.SwaggerDataTypeObject,
Ref: g.getSchemaRef(schemaName),
Nullable: false,
Deprecated: false,
Properties: make(map[string]*define.Property),
Required: make([]string, 0),
Enum: make([]any, 0),
Type: consts.SwaggerDataTypeObject, // TODO : 区分数组
Ref: g.getSchemaRef(schemaName),
}
if len(rootSchemaName) == 0 || inputType.Kind() == reflect.Struct {
s.Ref = ""
@ -328,6 +322,11 @@ func (g *Generate) AddComponentsSchema(rootSchemaName string, pkgPath string, in
}
// g.docData.Components.Schemas[schemaName].Ref = consts.SwaggerDataTypeObject
for i := 0; i < inputType.NumField(); i++ {
if ValidateRule.IsRequired(inputType.Field(i)) {
// 必传字段
g.docData.Components.Schemas[schemaName].Required = append(g.docData.Components.Schemas[schemaName].Required, ParseStructField.GetParamName(inputType.Field(i)))
}
if inputType.Field(i).Type.Kind() == reflect.Ptr ||
inputType.Field(i).Type.Kind() == reflect.Struct ||
inputType.Field(i).Type.Kind() == reflect.Map ||