diff --git a/generate.go b/generate.go index 6eec832..7e16d3b 100644 --- a/generate.go +++ b/generate.go @@ -10,6 +10,7 @@ package api_doc import ( "git.zhangdeman.cn/gateway/api-doc/define" "git.zhangdeman.cn/zhangdeman/consts" + "strings" ) // NewOpenapiDoc ... @@ -77,6 +78,39 @@ func (g *Generate) AddTag(tagName string, tagDesc string) { } } +// AddServer 添加server +// +// Author : go_developer@163.com<白茶清欢> +// +// Date : 14:45 2024/8/14 +func (g *Generate) AddServer(serverDomain string, serverDesc string, serverVariable map[string]*define.ServerItemVariable) { + if nil == serverVariable { + serverVariable = make(map[string]*define.ServerItemVariable) + } + serverDomain = strings.TrimRight(serverDomain, "/") + isHasServer := false + for _, item := range g.docData.Servers { + if item.Url != serverDomain { + continue + } + isHasServer = true + if len(serverDesc) > 0 { + item.Description = serverDesc + } + for varName, varValue := range serverVariable { + item.Variables[varName] = varValue + } + break + } + if !isHasServer { + g.docData.Servers = append(g.docData.Servers, &define.ServerItem{ + Url: serverDomain, + Description: serverDesc, + Variables: serverVariable, + }) + } +} + func (g *Generate) AddApi() { }