From fbe243aa687159a9fce6ea6d8bf9120a7d65550e Mon Sep 17 00:00:00 2001 From: leapsea Date: Thu, 11 Apr 2019 11:22:39 +0800 Subject: [PATCH] 1. support multi root namespace in router 2. set summery default value --- generate/swaggergen/g_docs.go | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/generate/swaggergen/g_docs.go b/generate/swaggergen/g_docs.go index 512e01c..87a1bf7 100644 --- a/generate/swaggergen/g_docs.go +++ b/generate/swaggergen/g_docs.go @@ -164,6 +164,7 @@ func GenerateDocs(curpath string) { beeLogger.Log.Fatalf("Error while parsing router.go: %s", err) } + rootapi.BasePath = "/" rootapi.Infos = swagger.Information{} rootapi.SwaggerVersion = "2.0" @@ -279,9 +280,7 @@ func GenerateDocs(curpath string) { continue } version, params := analyseNewNamespace(v) - if rootapi.BasePath == "" && version != "" { - rootapi.BasePath = version - } + for _, p := range params { switch pp := p.(type) { case *ast.CallExpr: @@ -292,7 +291,7 @@ func GenerateDocs(curpath string) { switch pp := sp.(type) { case *ast.CallExpr: if pp.Fun.(*ast.SelectorExpr).Sel.String() == "NSInclude" { - controllerName = analyseNSInclude(s, pp) + controllerName = analyseNSInclude(version+s, pp) if v, ok := controllerComments[controllerName]; ok { rootapi.Tags = append(rootapi.Tags, swagger.Tag{ Name: strings.Trim(s, "/"), @@ -556,7 +555,9 @@ func parserComments(f *ast.FuncDecl, controllerName, pkgpath string) error { HTTPMethod = "GET" } } else if strings.HasPrefix(t, "@Title") { - opts.OperationID = controllerName + "." + strings.TrimSpace(t[len("@Title"):]) + ti := strings.TrimSpace(t[len("@Title"):]) + opts.OperationID = controllerName + "." + ti + opts.Summary = ti // set default value } else if strings.HasPrefix(t, "@Description") { opts.Description = strings.TrimSpace(t[len("@Description"):]) } else if strings.HasPrefix(t, "@Summary") {