diff --git a/modules/swagger-codegen/src/main/java/io/swagger/codegen/languages/JavascriptClientCodegen.java b/modules/swagger-codegen/src/main/java/io/swagger/codegen/languages/JavascriptClientCodegen.java index 2b848393e97..3bd7fe4ac74 100644 --- a/modules/swagger-codegen/src/main/java/io/swagger/codegen/languages/JavascriptClientCodegen.java +++ b/modules/swagger-codegen/src/main/java/io/swagger/codegen/languages/JavascriptClientCodegen.java @@ -44,6 +44,7 @@ public class JavascriptClientCodegen extends DefaultCodegen implements CodegenCo private static final String PROJECT_VERSION = "projectVersion"; private static final String PROJECT_LICENSE_NAME = "projectLicenseName"; private static final String USE_PROMISES = "usePromises"; + private static final String OMIT_MODEL_METHODS = "omitModelMethods"; protected String projectName; protected String moduleName; @@ -53,6 +54,7 @@ public class JavascriptClientCodegen extends DefaultCodegen implements CodegenCo protected String sourceFolder = "src"; protected String localVariablePrefix = ""; protected boolean usePromises = false; + protected boolean omitModelMethods = false; public JavascriptClientCodegen() { super(); @@ -105,6 +107,9 @@ public JavascriptClientCodegen() { cliOptions.add(new CliOption(USE_PROMISES, "use Promises as return values from the client API, instead of superagent callbacks") .defaultValue(Boolean.FALSE.toString())); + cliOptions.add(new CliOption(OMIT_MODEL_METHODS, + "omits generation of getters and setters for model classes") + .defaultValue(Boolean.FALSE.toString())); } @Override @@ -174,7 +179,10 @@ public void preprocessSwagger(Swagger swagger) { if (additionalProperties.containsKey(USE_PROMISES)) { usePromises = Boolean.parseBoolean((String)additionalProperties.get(USE_PROMISES)); } - + if (additionalProperties.containsKey(OMIT_MODEL_METHODS)) { + omitModelMethods = Boolean.parseBoolean((String)additionalProperties.get(OMIT_MODEL_METHODS)); + } + if (swagger.getInfo() != null) { Info info = swagger.getInfo(); if (StringUtils.isBlank(projectName) && info.getTitle() != null) { @@ -218,6 +226,7 @@ public void preprocessSwagger(Swagger swagger) { additionalProperties.put(CodegenConstants.LOCAL_VARIABLE_PREFIX, localVariablePrefix); additionalProperties.put(CodegenConstants.SOURCE_FOLDER, sourceFolder); additionalProperties.put(USE_PROMISES, usePromises); + additionalProperties.put(OMIT_MODEL_METHODS, omitModelMethods); supportingFiles.add(new SupportingFile("package.mustache", "", "package.json")); supportingFiles.add(new SupportingFile("index.mustache", sourceFolder, "index.js")); diff --git a/modules/swagger-codegen/src/main/resources/Javascript/model.mustache b/modules/swagger-codegen/src/main/resources/Javascript/model.mustache index 49b79bbac07..634648d68c6 100644 --- a/modules/swagger-codegen/src/main/resources/Javascript/model.mustache +++ b/modules/swagger-codegen/src/main/resources/Javascript/model.mustache @@ -45,6 +45,7 @@ return this; } + {{^omitModelMethods}} {{#vars}} /**{{#description}} * get {{{description}}}{{/description}}{{#minimum}} @@ -64,6 +65,7 @@ this['{{baseName}}'] = {{name}}; } {{/vars}} + {{/omitModelMethods}} {{classname}}.prototype.toJson = function() { return JSON.stringify(this);