diff --git a/modules/swagger-codegen/src/main/java/io/swagger/codegen/languages/GoClientCodegen.java b/modules/swagger-codegen/src/main/java/io/swagger/codegen/languages/GoClientCodegen.java index ef0ea2e5142..dc78508c89e 100644 --- a/modules/swagger-codegen/src/main/java/io/swagger/codegen/languages/GoClientCodegen.java +++ b/modules/swagger-codegen/src/main/java/io/swagger/codegen/languages/GoClientCodegen.java @@ -375,6 +375,15 @@ public class GoClientCodegen extends DefaultCodegen implements CodegenConfig { if (_import.startsWith(apiPackage())) iterator.remove(); } + // if the return type is not primitive, import encoding/json + for (CodegenOperation operation : operations) { + if(operation.returnBaseType != null && needToImport(operation.returnBaseType)) { + Map newImportMap2 = new HashMap(); + newImportMap2.put("import", "encoding/json"); + imports.add(newImportMap2); + break; //just need to import once + } + } // recursivly add import for mapping one type to multipe imports List> recursiveImports = (List>) objs.get("imports"); diff --git a/modules/swagger-codegen/src/main/resources/go/api.mustache b/modules/swagger-codegen/src/main/resources/go/api.mustache index 6e540d3f876..9b8998cf614 100644 --- a/modules/swagger-codegen/src/main/resources/go/api.mustache +++ b/modules/swagger-codegen/src/main/resources/go/api.mustache @@ -4,7 +4,6 @@ package {{packageName}} import ( "strings" "fmt" - "encoding/json" "errors" {{#imports}} "{{import}}" {{/imports}} diff --git a/samples/client/petstore/go/go-petstore/pet_api.go b/samples/client/petstore/go/go-petstore/pet_api.go index 423e8a795a7..8bdc25596fe 100644 --- a/samples/client/petstore/go/go-petstore/pet_api.go +++ b/samples/client/petstore/go/go-petstore/pet_api.go @@ -3,10 +3,10 @@ package swagger import ( "strings" "fmt" - "encoding/json" "errors" "os" "io/ioutil" + "encoding/json" ) type PetApi struct { diff --git a/samples/client/petstore/go/go-petstore/store_api.go b/samples/client/petstore/go/go-petstore/store_api.go index a8b48f63b39..4a9bd178522 100644 --- a/samples/client/petstore/go/go-petstore/store_api.go +++ b/samples/client/petstore/go/go-petstore/store_api.go @@ -3,8 +3,8 @@ package swagger import ( "strings" "fmt" - "encoding/json" "errors" + "encoding/json" ) type StoreApi struct { diff --git a/samples/client/petstore/go/go-petstore/user_api.go b/samples/client/petstore/go/go-petstore/user_api.go index 228c8d3f9bd..405c7af99ae 100644 --- a/samples/client/petstore/go/go-petstore/user_api.go +++ b/samples/client/petstore/go/go-petstore/user_api.go @@ -3,8 +3,8 @@ package swagger import ( "strings" "fmt" - "encoding/json" "errors" + "encoding/json" ) type UserApi struct {