diff --git a/define/openapi.go b/define/openapi.go index 52bd43f..d8a83d8 100644 --- a/define/openapi.go +++ b/define/openapi.go @@ -132,7 +132,7 @@ type Schema struct { Required []string `json:"required,omitempty"` // 必传属性列表 Enum []any `json:"enum,omitempty"` // 枚举值列表 XEnumDescription map[string]string `json:"x-enumDescriptions,omitempty"` // 枚举值描述的扩展, redoc-free支持 - Type string `json:"type,omitempty"` // 类型 + Type any `json:"type,omitempty"` // 类型 (string | []string) Items *PropertyXOf `json:"items,omitempty"` // items 必须存在如果 type 的值是 array。 OneOf []*PropertyXOf `json:"oneOf,omitempty"` // type 是一个对象, allOf 指向对象描述 Ref string `json:"$ref,omitempty"` // 类型引用 @@ -150,7 +150,7 @@ type Schema struct { // // Date : 17:05 2024/7/19 type Property struct { - Type string `json:"type,omitempty"` // 数据类型, swagger本身的定义 + Type any `json:"type,omitempty"` // 数据类型(string | []string), swagger本身的定义 Format string `json:"format,omitempty"` // 对应编程语言中的数据类型描述 Enum []any `json:"enum,omitempty"` // 枚举值列表 XEnumDescription map[string]string `json:"x-enumDescriptions,omitempty"` // 枚举值描述的扩展, redoc-free支持 @@ -165,7 +165,7 @@ type Property struct { OneOf []*PropertyXOf `json:"oneOf,omitempty"` // type 是一个对象, allOf 指向对象描述 AnyOf []*PropertyXOf `json:"anyOf,omitempty"` // type 是一个对象, allOf 指向对象描述 Items *PropertyXOf `json:"items,omitempty"` // items 必须存在如果 type 的值是 array。 - AdditionalProperties *PropertyXOf `json:"additionalProperties,omitempty"` // additionalProperties 是一个用于描述模型中包含未在属性列表中定义的额外属性的选项。它允许接受任意的一个或多个键值对。它的作用是为了在模型定义中包含未知或动态属性。通常,在设计 API 时,我们无法预先知道 API 用户会传递什么样的额外属性,这时就可以使用 additionalProperties 功能来灵活地处理这些未知属性。 + AdditionalProperties any `json:"additionalProperties,omitempty"` // additionalProperties(PropertyXOf | bool) 是一个用于描述模型中包含未在属性列表中定义的额外属性的选项。它允许接受任意的一个或多个键值对。它的作用是为了在模型定义中包含未知或动态属性。通常,在设计 API 时,我们无法预先知道 API 用户会传递什么样的额外属性,这时就可以使用 additionalProperties 功能来灵活地处理这些未知属性。 Properties map[string]*Property `json:"properties,omitempty"` // type = object 时, 定义对象属性 Ref string `json:"$ref,omitempty"` // 对描述的引用 } diff --git a/parser_test.go b/parser_test.go index 529c13a..9211b43 100644 --- a/parser_test.go +++ b/parser_test.go @@ -94,3 +94,8 @@ func Test_parser_Openapi3(t *testing.T) { byteData, _ := json.Marshal(g.docData) fmt.Println(string(byteData)) } + +func Test_parse_Openapi3_doc(t *testing.T) { + res, err := ParseOpenapi3("http://localhost:10990/static-server/github-openapi.json", "") + fmt.Println(res, err) +}