From 52c8cb8b6a8027d608bb6c49860809915ede67b3 Mon Sep 17 00:00:00 2001 From: Givi Khojanashvili Date: Tue, 1 Aug 2017 15:33:45 +0300 Subject: [PATCH 1/6] Fix #438. Fix random module matching from swagger generator. --- generate/swaggergen/g_docs.go | 26 ++++++++++++++------------ 1 file changed, 14 insertions(+), 12 deletions(-) diff --git a/generate/swaggergen/g_docs.go b/generate/swaggergen/g_docs.go index be54679..aee7116 100644 --- a/generate/swaggergen/g_docs.go +++ b/generate/swaggergen/g_docs.go @@ -52,7 +52,7 @@ var importlist map[string]string var controllerList map[string]map[string]*swagger.Item //controllername Paths items var modelsList map[string]map[string]swagger.Schema var rootapi swagger.Swagger -var astPkgs map[string]*ast.Package +var astPkgs []*ast.Package // refer to builtin.go var basicTypes = map[string]string{ @@ -89,7 +89,7 @@ func init() { importlist = make(map[string]string) controllerList = make(map[string]map[string]*swagger.Item) modelsList = make(map[string]map[string]swagger.Schema) - astPkgs = map[string]*ast.Package{} + astPkgs = make([]*ast.Package, 0) } func ParsePackagesFromDir(dirpath string) { @@ -136,8 +136,8 @@ func parsePackageFromDir(path string) error { return err } - for k, v := range folderPkgs { - astPkgs[k] = v + for _, v := range folderPkgs { + astPkgs = append(astPkgs, v) } return nil @@ -860,14 +860,16 @@ func getModel(str string) (objectname string, m swagger.Schema, realTypes []stri packageName := "" m.Type = "object" for _, pkg := range astPkgs { - for _, fl := range pkg.Files { - for k, d := range fl.Scope.Objects { - if d.Kind == ast.Typ { - if k != objectname { - continue + if strs[0] == pkg.Name { + for _, fl := range pkg.Files { + for k, d := range fl.Scope.Objects { + if d.Kind == ast.Typ { + if k != objectname { + continue + } + packageName = pkg.Name + parseObject(d, k, &m, &realTypes, astPkgs, pkg.Name) } - packageName = pkg.Name - parseObject(d, k, &m, &realTypes, astPkgs, pkg.Name) } } } @@ -885,7 +887,7 @@ func getModel(str string) (objectname string, m swagger.Schema, realTypes []stri return } -func parseObject(d *ast.Object, k string, m *swagger.Schema, realTypes *[]string, astPkgs map[string]*ast.Package, packageName string) { +func parseObject(d *ast.Object, k string, m *swagger.Schema, realTypes *[]string, astPkgs []*ast.Package, packageName string) { ts, ok := d.Decl.(*ast.TypeSpec) if !ok { beeLogger.Log.Fatalf("Unknown type without TypeSec: %v\n", d) From 0a4257549019e4b1e512b17e124ac4a6c614fe49 Mon Sep 17 00:00:00 2001 From: Liu Siyuan Date: Thu, 3 Aug 2017 17:32:46 +0800 Subject: [PATCH 2/6] Do no omit response description [swagger specs](https://swagger.io/docs/specification/describing-responses/) requires each response to have a description. Otherwise, ignorable error will be generated. This PR makes sure that description field is not omitted in the event that user did not give a description. --- vendor/github.com/astaxie/beego/swagger/swagger.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/vendor/github.com/astaxie/beego/swagger/swagger.go b/vendor/github.com/astaxie/beego/swagger/swagger.go index 035d5a4..89fef8a 100644 --- a/vendor/github.com/astaxie/beego/swagger/swagger.go +++ b/vendor/github.com/astaxie/beego/swagger/swagger.go @@ -141,7 +141,7 @@ type Propertie struct { // Response as they are returned from executing this operation. type Response struct { - Description string `json:"description,omitempty" yaml:"description,omitempty"` + Description string `json:"description" yaml:"description"` Schema *Schema `json:"schema,omitempty" yaml:"schema,omitempty"` Ref string `json:"$ref,omitempty" yaml:"$ref,omitempty"` } From cdec05b5e31b704e4ef9dd77d4334821be1efc5a Mon Sep 17 00:00:00 2001 From: Hamid FzM Date: Wed, 16 Aug 2017 14:47:07 +0430 Subject: [PATCH 3/6] Generate multipart/form-data consumer for API doc --- generate/swaggergen/g_docs.go | 3 +++ 1 file changed, 3 insertions(+) diff --git a/generate/swaggergen/g_docs.go b/generate/swaggergen/g_docs.go index be54679..f6ed2a0 100644 --- a/generate/swaggergen/g_docs.go +++ b/generate/swaggergen/g_docs.go @@ -44,6 +44,7 @@ const ( axml = "application/xml" aplain = "text/plain" ahtml = "text/html" + aform = "multipart/form-data" ) var pkgCache map[string]struct{} //pkg:controller:function:comments comments: key:value @@ -675,6 +676,8 @@ func parserComments(f *ast.FuncDecl, controllerName, pkgpath string) error { case "html": opts.Consumes = append(opts.Consumes, ahtml) opts.Produces = append(opts.Produces, ahtml) + case "form": + opts.Consumes = append(opts.Consumes, aform) } } } else if strings.HasPrefix(t, "@Security") { From 2936241fe68176ffbf6d07aef0ac02341bf9aeb3 Mon Sep 17 00:00:00 2001 From: Hamid FzM Date: Wed, 16 Aug 2017 15:28:59 +0430 Subject: [PATCH 4/6] Update g_docs.go --- generate/swaggergen/g_docs.go | 1 + 1 file changed, 1 insertion(+) diff --git a/generate/swaggergen/g_docs.go b/generate/swaggergen/g_docs.go index f6ed2a0..17550e4 100644 --- a/generate/swaggergen/g_docs.go +++ b/generate/swaggergen/g_docs.go @@ -678,6 +678,7 @@ func parserComments(f *ast.FuncDecl, controllerName, pkgpath string) error { opts.Produces = append(opts.Produces, ahtml) case "form": opts.Consumes = append(opts.Consumes, aform) + opts.Consumes = append(opts.Consumes, ajson) } } } else if strings.HasPrefix(t, "@Security") { From ae1f1a9bf445339589817b1b701d4e2672b4c4b3 Mon Sep 17 00:00:00 2001 From: Hamid FzM Date: Wed, 16 Aug 2017 15:42:40 +0430 Subject: [PATCH 5/6] Remove wrong consumer --- generate/swaggergen/g_docs.go | 1 - 1 file changed, 1 deletion(-) diff --git a/generate/swaggergen/g_docs.go b/generate/swaggergen/g_docs.go index 17550e4..f6ed2a0 100644 --- a/generate/swaggergen/g_docs.go +++ b/generate/swaggergen/g_docs.go @@ -678,7 +678,6 @@ func parserComments(f *ast.FuncDecl, controllerName, pkgpath string) error { opts.Produces = append(opts.Produces, ahtml) case "form": opts.Consumes = append(opts.Consumes, aform) - opts.Consumes = append(opts.Consumes, ajson) } } } else if strings.HasPrefix(t, "@Security") { From ceefd74c9b82c61399b01da162696d746ae5decd Mon Sep 17 00:00:00 2001 From: asta xie Date: Tue, 12 Sep 2017 21:23:20 +0800 Subject: [PATCH 6/6] v1.9.1 --- cmd/commands/version/version.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cmd/commands/version/version.go b/cmd/commands/version/version.go index a10cc0d..ada9427 100644 --- a/cmd/commands/version/version.go +++ b/cmd/commands/version/version.go @@ -57,7 +57,7 @@ Prints the current Bee, Beego and Go version alongside the platform information. } var outputFormat string -const version = "1.9.0" +const version = "1.9.1" func init() { fs := flag.NewFlagSet("version", flag.ContinueOnError)