优化文档数据结构体 #19
@ -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"`                 // 对描述的引用
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@ -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)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
		Reference in New Issue
	
	Block a user