feat: 接入新版本openapi文档, 页面渲染兼容性待调试
This commit is contained in:
@@ -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...)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user