1
0
mirror of https://github.com/beego/bee.git synced 2024-11-26 16:41:30 +00:00

fact docs: add support for multi NS

This commit is contained in:
panxinghao 2016-06-13 23:04:10 -07:00
parent ddc5da6a38
commit de59400fa2

View File

@ -70,7 +70,7 @@ func init() {
a.Path = urlReplace(k + a.Path) a.Path = urlReplace(k + a.Path)
v.APIs[i] = a v.APIs[i] = a
} }
v.BasePath = BasePath //v.BasePath = BasePath
beego.GlobalDocAPI[strings.Trim(k, "/")] = v beego.GlobalDocAPI[strings.Trim(k, "/")] = v
} }
} }
@ -106,6 +106,7 @@ var apilist map[string]*swagger.APIDeclaration
var controllerList map[string][]swagger.API var controllerList map[string][]swagger.API
var modelsList map[string]map[string]swagger.Model var modelsList map[string]map[string]swagger.Model
var rootapi swagger.ResourceListing var rootapi swagger.ResourceListing
var basepath string
func init() { func init() {
pkgCache = make(map[string]bool) pkgCache = make(map[string]bool)
@ -114,6 +115,7 @@ func init() {
apilist = make(map[string]*swagger.APIDeclaration) apilist = make(map[string]*swagger.APIDeclaration)
controllerList = make(map[string][]swagger.API) controllerList = make(map[string][]swagger.API)
modelsList = make(map[string]map[string]swagger.Model) modelsList = make(map[string]map[string]swagger.Model)
basepath = "/"
} }
func generateDocs(curpath string) { func generateDocs(curpath string) {
@ -166,7 +168,8 @@ func generateDocs(curpath string) {
for _, l := range smtp.Rhs { for _, l := range smtp.Rhs {
if v, ok := l.(*ast.CallExpr); ok { if v, ok := l.(*ast.CallExpr); ok {
f, params := analisysNewNamespace(v) f, params := analisysNewNamespace(v)
globalDocsTemplate = strings.Replace(globalDocsTemplate, "{{.version}}", f, -1) //globalDocsTemplate = strings.Replace(globalDocsTemplate, "{{.version}}", f, -1)
basepath = f
for _, p := range params { for _, p := range params {
switch pp := p.(type) { switch pp := p.(type) {
case *ast.CallExpr: case *ast.CallExpr:
@ -240,6 +243,7 @@ func analisysNSInclude(baseurl string, ce *ast.CallExpr) string {
a.Produces = []string{"application/json", "application/xml", "text/plain", "text/html"} a.Produces = []string{"application/json", "application/xml", "text/plain", "text/html"}
a.APIs = make([]swagger.API, 0) a.APIs = make([]swagger.API, 0)
a.Models = make(map[string]swagger.Model) a.Models = make(map[string]swagger.Model)
a.BasePath = basepath
for _, p := range ce.Args { for _, p := range ce.Args {
x := p.(*ast.UnaryExpr).X.(*ast.CompositeLit).Type.(*ast.SelectorExpr) x := p.(*ast.UnaryExpr).X.(*ast.CompositeLit).Type.(*ast.SelectorExpr)
if v, ok := importlist[fmt.Sprint(x.X)]; ok { if v, ok := importlist[fmt.Sprint(x.X)]; ok {