From 55238e0de848511f14dfd892086fdc5fe7cb5c4d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=99=BD=E8=8C=B6=E6=B8=85=E6=AC=A2?= Date: Wed, 7 Jan 2026 12:09:37 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E8=AF=B7=E6=B1=82=E5=93=8D=E5=BA=94?= =?UTF-8?q?=E7=BB=93=E6=9E=84=E4=BD=93=E5=AE=9A=E4=B9=89=E4=BD=BF=E7=94=A8?= =?UTF-8?q?=20$ref,=20=E5=8E=8B=E7=BC=A9=E6=96=87=E6=A1=A3=E4=BD=93?= =?UTF-8?q?=E7=A7=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- openapi/generate.go | 39 ++++++++++++++++++++++++--------------- 1 file changed, 24 insertions(+), 15 deletions(-) diff --git a/openapi/generate.go b/openapi/generate.go index 5934717..50dc96e 100644 --- a/openapi/generate.go +++ b/openapi/generate.go @@ -208,16 +208,21 @@ func (g *Generate) AddApiDoc(docFlag string, apiMeta define.UriConfig, request a Value: &openapi3.RequestBody{ Extensions: nil, Origin: nil, - Description: "", - Required: false, + Description: "接口请求数据", + Required: true, Content: map[string]*openapi3.MediaType{ consts.MimeTypeJson: { Extensions: nil, Origin: nil, - Schema: schemaData, - Example: nil, - Examples: nil, - Encoding: nil, + Schema: &openapi3.SchemaRef{ + Extensions: nil, + Origin: nil, + Ref: "#/components/schemas/" + strings.TrimLeft(requestType.String(), "*"), + Value: nil, + }, + Example: nil, + Examples: 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 { g.docTable[docFlag].Components.Schemas[requestTypeStr] = schemaData } - responseTypeStr := responseType.String() - if _, exist := g.docTable[docFlag].Components.Schemas[responseTypeStr]; !exist { - g.docTable[docFlag].Components.Schemas[responseTypeStr] = GenerateOpenAPISchema(responseType) - } // 冗余处理结束 } - + responseTypeStr := responseType.String() + if _, exist := g.docTable[docFlag].Components.Schemas[responseTypeStr]; !exist { + g.docTable[docFlag].Components.Schemas[responseTypeStr] = GenerateOpenAPISchema(responseType) + } desc := "请求成功" apiOperate.Responses.Set(fmt.Sprintf("%v", http.StatusOK), &openapi3.ResponseRef{ Extensions: nil, @@ -251,10 +255,15 @@ func (g *Generate) AddApiDoc(docFlag string, apiMeta define.UriConfig, request a consts.MimeTypeJson: { Extensions: nil, Origin: nil, - Schema: GenerateOpenAPISchema(responseType), - Example: nil, - Examples: nil, - Encoding: nil, + Schema: &openapi3.SchemaRef{ + Extensions: nil, + Origin: nil, + Ref: "#/components/schemas/" + strings.TrimLeft(responseTypeStr, "*"), + Value: nil, + }, + Example: nil, + Examples: nil, + Encoding: nil, }, }, Links: nil,