feat: 接入新版本openapi文档, 页面渲染兼容性待调试

This commit is contained in:
2026-01-07 23:31:48 +08:00
parent 65802c5e86
commit 2ad85fd950
7 changed files with 192 additions and 202 deletions

View File

@@ -8,70 +8,10 @@
package router
import (
"reflect"
apiDoc "git.zhangdeman.cn/zhangdeman/api-doc"
"git.zhangdeman.cn/zhangdeman/api-doc/define"
"git.zhangdeman.cn/zhangdeman/api-doc/openapi"
"github.com/getkin/kin-openapi/openapi3"
)
func NewDoc(info *define.Info, servers []*define.ServerItem) *Doc {
if nil == info {
info = &define.Info{
Description: "",
Title: "",
TermsOfService: "",
Contact: &define.Contact{
Name: "",
Url: "",
Email: "",
},
License: nil,
Version: "",
}
}
if nil == info.Contact {
info.Contact = &define.Contact{
Name: "",
Url: "",
Email: "",
}
}
if nil == info.License {
info.License = &define.License{
Name: "",
Url: "",
}
}
return &Doc{
instance: apiDoc.NewOpenapiDoc(
apiDoc.WithDocDescription(info.Description),
apiDoc.WithDocTitle(info.Title),
apiDoc.WithDocContactEmail(info.Contact.Email),
apiDoc.WithDocContactName(info.Contact.Name),
apiDoc.WithDocLicense(info.License.Name),
apiDoc.WithDocServers(servers),
),
}
}
type Doc struct {
instance *apiDoc.Generate
}
// Add 增加接口文档测试
//
// Author : go_developer@163.com<白茶清欢>
//
// Date : 21:55 2025/2/14
func (d *Doc) Add(routePrefix string, paramType reflect.Type, resultType reflect.Type) {
_ = d.instance.AddApiFromInAndOut(routePrefix, paramType, resultType)
}
// Data 文档数据
//
// Author : go_developer@163.com<白茶清欢>
//
// Date : 21:59 2025/2/14
func (d *Doc) Data() *define.OpenapiDoc {
return d.instance.Doc()
func NewOpenApiDoc(docFlag string, docOption ...openapi.OptionFunc) *openapi3.T {
return openapi.DocManager.NewOpenApiDoc(docFlag, docOption...)
}