feat: 请求响应结构体定义使用 $ref, 压缩文档体积
This commit is contained in:
@@ -208,13 +208,18 @@ func (g *Generate) AddApiDoc(docFlag string, apiMeta define.UriConfig, request a
|
|||||||
Value: &openapi3.RequestBody{
|
Value: &openapi3.RequestBody{
|
||||||
Extensions: nil,
|
Extensions: nil,
|
||||||
Origin: nil,
|
Origin: nil,
|
||||||
Description: "",
|
Description: "接口请求数据",
|
||||||
Required: false,
|
Required: true,
|
||||||
Content: map[string]*openapi3.MediaType{
|
Content: map[string]*openapi3.MediaType{
|
||||||
consts.MimeTypeJson: {
|
consts.MimeTypeJson: {
|
||||||
Extensions: nil,
|
Extensions: nil,
|
||||||
Origin: nil,
|
Origin: nil,
|
||||||
Schema: schemaData,
|
Schema: &openapi3.SchemaRef{
|
||||||
|
Extensions: nil,
|
||||||
|
Origin: nil,
|
||||||
|
Ref: "#/components/schemas/" + strings.TrimLeft(requestType.String(), "*"),
|
||||||
|
Value: nil,
|
||||||
|
},
|
||||||
Example: nil,
|
Example: nil,
|
||||||
Examples: nil,
|
Examples: nil,
|
||||||
Encoding: nil,
|
Encoding: nil,
|
||||||
@@ -230,13 +235,12 @@ func (g *Generate) AddApiDoc(docFlag string, apiMeta define.UriConfig, request a
|
|||||||
if _, exist := g.docTable[docFlag].Components.Schemas[requestTypeStr]; !exist {
|
if _, exist := g.docTable[docFlag].Components.Schemas[requestTypeStr]; !exist {
|
||||||
g.docTable[docFlag].Components.Schemas[requestTypeStr] = schemaData
|
g.docTable[docFlag].Components.Schemas[requestTypeStr] = schemaData
|
||||||
}
|
}
|
||||||
|
// 冗余处理结束
|
||||||
|
}
|
||||||
responseTypeStr := responseType.String()
|
responseTypeStr := responseType.String()
|
||||||
if _, exist := g.docTable[docFlag].Components.Schemas[responseTypeStr]; !exist {
|
if _, exist := g.docTable[docFlag].Components.Schemas[responseTypeStr]; !exist {
|
||||||
g.docTable[docFlag].Components.Schemas[responseTypeStr] = GenerateOpenAPISchema(responseType)
|
g.docTable[docFlag].Components.Schemas[responseTypeStr] = GenerateOpenAPISchema(responseType)
|
||||||
}
|
}
|
||||||
// 冗余处理结束
|
|
||||||
}
|
|
||||||
|
|
||||||
desc := "请求成功"
|
desc := "请求成功"
|
||||||
apiOperate.Responses.Set(fmt.Sprintf("%v", http.StatusOK), &openapi3.ResponseRef{
|
apiOperate.Responses.Set(fmt.Sprintf("%v", http.StatusOK), &openapi3.ResponseRef{
|
||||||
Extensions: nil,
|
Extensions: nil,
|
||||||
@@ -251,7 +255,12 @@ func (g *Generate) AddApiDoc(docFlag string, apiMeta define.UriConfig, request a
|
|||||||
consts.MimeTypeJson: {
|
consts.MimeTypeJson: {
|
||||||
Extensions: nil,
|
Extensions: nil,
|
||||||
Origin: nil,
|
Origin: nil,
|
||||||
Schema: GenerateOpenAPISchema(responseType),
|
Schema: &openapi3.SchemaRef{
|
||||||
|
Extensions: nil,
|
||||||
|
Origin: nil,
|
||||||
|
Ref: "#/components/schemas/" + strings.TrimLeft(responseTypeStr, "*"),
|
||||||
|
Value: nil,
|
||||||
|
},
|
||||||
Example: nil,
|
Example: nil,
|
||||||
Examples: nil,
|
Examples: nil,
|
||||||
Encoding: nil,
|
Encoding: nil,
|
||||||
|
|||||||
Reference in New Issue
Block a user