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 4f14b1c230ad..5bc69ad75cda 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 @@ -293,14 +293,18 @@ public class JavascriptClientCodegen extends DefaultCodegen implements CodegenCo public String toModelName(String name) { name = sanitizeName(name); // FIXME parameter should not be assigned. Also declare it as "final" - // model name cannot use reserved keyword, e.g. return - if (isReservedWord(name)) { - throw new RuntimeException(name + " (reserved word) cannot be used as a model name"); - } - // camelize the model name // phone_number => PhoneNumber - return camelize(name); + name = camelize(name); + + // model name cannot use reserved keyword, e.g. return + if (isReservedWord(name)) { + String modelName = "Object" + name; + LOGGER.warn(name + " (reserved word) cannot be used as model name. Renamed to " + modelName); + return modelName; + } + + return name; } @Override @@ -419,12 +423,16 @@ public class JavascriptClientCodegen extends DefaultCodegen implements CodegenCo throw new RuntimeException("Empty method/operation name (operationId) not allowed"); } + operationId = camelize(sanitizeName(operationId), true); + // method name cannot use reserved keyword, e.g. return if (isReservedWord(operationId)) { - operationId = escapeReservedWord(operationId); + String newOperationId = camelize("call_" + operationId, true); + LOGGER.warn(operationId + " (reserved word) cannot be used as method name. Renamed to " + newOperationId); + return newOperationId; } - return camelize(sanitizeName(operationId), true); + return operationId; } @Override diff --git a/samples/client/petstore/javascript/src/api/PetApi.js b/samples/client/petstore/javascript/src/api/PetApi.js index edac9074fbef..d63d58c3c682 100644 --- a/samples/client/petstore/javascript/src/api/PetApi.js +++ b/samples/client/petstore/javascript/src/api/PetApi.js @@ -330,12 +330,12 @@ * @param {function} callback the callback function, accepting three arguments: error, data, response * data is of type: 'String' */ - self.getPetByIdWithByteArray = function(petId, callback) { + self.petPetIdtestingByteArraytrueGet = function(petId, callback) { var postBody = null; // verify the required parameter 'petId' is set if (petId == null) { - throw "Missing the required parameter 'petId' when calling getPetByIdWithByteArray"; + throw "Missing the required parameter 'petId' when calling petPetIdtestingByteArraytrueGet"; }