Commit 498c6cfa authored by 0xff26b9a8's avatar 0xff26b9a8 Committed by song
Browse files

fix: 修复 schema 清理逻辑

parent 71f8b9e4
...@@ -146,17 +146,10 @@ func cleanJSONSchemaRecursive(value any) any { ...@@ -146,17 +146,10 @@ func cleanJSONSchemaRecursive(value any) any {
for _, v := range schemaMap { for _, v := range schemaMap {
if _, isMap := v.(map[string]any); isMap { if _, isMap := v.(map[string]any); isMap {
cleanJSONSchemaRecursive(v) cleanJSONSchemaRecursive(v)
} else if _, isArr := v.([]any); isArr { } else if arr, isArr := v.([]any); isArr {
// 数组内的对象也要递归
}
}
// 稍微补全一下数组递归
for k, v := range schemaMap {
if arr, ok := v.([]any); ok {
for _, item := range arr { for _, item := range arr {
cleanJSONSchemaRecursive(item) cleanJSONSchemaRecursive(item)
} }
schemaMap[k] = arr
} }
} }
} }
...@@ -455,18 +448,18 @@ func mergeAllOf(m map[string]any) { ...@@ -455,18 +448,18 @@ func mergeAllOf(m map[string]any) {
} }
if len(mergedReq) > 0 { if len(mergedReq) > 0 {
existReq, _ := m["required"].([]any) existReq, _ := m["required"].([]any)
var currentReqs []string var validReqs []any
for _, r := range existReq { for _, r := range existReq {
if s, ok := r.(string); ok { if s, ok := r.(string); ok {
currentReqs = append(currentReqs, s) validReqs = append(validReqs, s)
delete(mergedReq, s) // already exists delete(mergedReq, s) // already exists
} }
} }
// append new // append new
for r := range mergedReq { for r := range mergedReq {
existReq = append(existReq, r) validReqs = append(validReqs, r)
} }
m["required"] = existReq m["required"] = validReqs
} }
} }
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment