diff --git a/.gitignore b/.gitignore index 79ccbc4..e0322a4 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,3 @@ vendor glide.lock +goas.exe diff --git a/README.md b/README.md index e024522..0ed6bf2 100644 --- a/README.md +++ b/README.md @@ -107,10 +107,10 @@ goas --module-path . --main-file-path ./cmd/xxx/main.go --output oas.json ### Response ``` -@Success {stauts} {jsonType} {goType} {description} +@Success {status} {jsonType} {goType} {description} @Success 200 object UsersResponse "UsersResponse JSON" -@Failure {stauts} {jsonType} {goType} {description} +@Failure {status} {jsonType} {goType} {description} @Failure 400 object ErrorResponse "ErrorResponse JSON" ``` - {status}: The HTTP status code. diff --git a/go.mod b/go.mod index be5a5b6..7e1474c 100644 --- a/go.mod +++ b/go.mod @@ -7,4 +7,5 @@ require ( github.com/mikunalpha/go-module v0.0.0-20190521120234-12aa2dc244ca github.com/urfave/cli v1.20.0 github.com/uudashr/go-module v0.0.0-20180827225833-c0ca9c3a4966 // indirect + gopkg.in/urfave/cli.v1 v1.20.0 ) diff --git a/go.sum b/go.sum index e943754..6e07209 100644 --- a/go.sum +++ b/go.sum @@ -8,3 +8,5 @@ github.com/urfave/cli v1.20.0 h1:fDqGv3UG/4jbVl/QkFwEdddtEDjh/5Ov6X+0B/3bPaw= github.com/urfave/cli v1.20.0/go.mod h1:70zkFmudgCuE/ngEzBv17Jvp/497gISqfk5gWijbERA= github.com/uudashr/go-module v0.0.0-20180827225833-c0ca9c3a4966 h1:7dS/ZO0dIwrtj/FGTt9I6urVpx7LEHzucegv4ORYK3M= github.com/uudashr/go-module v0.0.0-20180827225833-c0ca9c3a4966/go.mod h1:P6Nk1sQWL6jcdBIxnLVlqCsOl0arao7gg7sPoM6gx4A= +gopkg.in/urfave/cli.v1 v1.20.0 h1:NdAVW6RYxDif9DhDHaAortIu956m2c0v+09AZBPTbE0= +gopkg.in/urfave/cli.v1 v1.20.0/go.mod h1:vuBzUtMdQeixQj8LVd+/98pzhxNGQoyuPBlsXHOQNO0= diff --git a/main.go b/main.go index 21d324e..ca179b3 100644 --- a/main.go +++ b/main.go @@ -4,7 +4,7 @@ import ( "log" "os" - "github.com/urfave/cli" + "gopkg.in/urfave/cli.v1" ) var version = "v1.0.0" diff --git a/parser.go b/parser.go index 3774e28..0e650cf 100644 --- a/parser.go +++ b/parser.go @@ -887,7 +887,17 @@ func (p *parser) parseSchemaObject(pkgPath, pkgName, typeName string) (*SchemaOb if len(typeNameParts) == 1 { typeSpec, exist = p.getTypeSpec(pkgPath, pkgName, typeName) if !exist { - log.Fatalf("Can not find definition of %s ast.TypeSpec. Current package %s", typeName, pkgName) + for _, value := range p.KnownNamePkg { + typeSpec, exist = p.getTypeSpec(value.Path, value.Name, typeName) + if exist { + pkgPath = value.Path + pkgName = value.Name + break + } + } + if !exist { + log.Fatalf("Can not find definition of %s ast.TypeSpec. Current package %s", typeName, pkgName) + } } schemaObject.PkgName = pkgName schemaObject.ID = genSchemeaObjectID(pkgName, typeName)