forked from loafle/openapi-generator-original
[Groovy] improve code parsing body/form params (#2879)
* [Groovy] improve code parsing body/form params * remove leading space * remove leading space
This commit is contained in:
parent
fdd08dc1f1
commit
6bffe4dbc7
@ -17,8 +17,6 @@ sidebar_label: groovy
|
||||
|groupId|groupId in generated pom.xml| |org.openapitools|
|
||||
|artifactId|artifactId in generated pom.xml. This also becomes part of the generated library's filename| |openapi-groovy|
|
||||
|artifactVersion|artifact version in generated pom.xml. This also becomes part of the generated library's filename| |1.0.0|
|
||||
|artifactUrl|artifact URL in generated pom.xml| |https://github.com/openapitools/openapi-generator|
|
||||
|artifactDescription|artifact description in generated pom.xml| |OpenAPI Java|
|
||||
|scmConnection|SCM connection in generated pom.xml| |scm:git:git@github.com:openapitools/openapi-generator.git|
|
||||
|scmDeveloperConnection|SCM developer connection in generated pom.xml| |scm:git:git@github.com:openapitools/openapi-generator.git|
|
||||
|scmUrl|SCM URL in generated pom.xml| |https://github.com/openapitools/openapi-generator|
|
||||
|
@ -4862,7 +4862,7 @@ public class DefaultCodegen implements CodegenConfig {
|
||||
*
|
||||
* @param objs map of object
|
||||
*/
|
||||
public void generateJSONSpecFile(Map<String, Object> objs) {
|
||||
protected void generateJSONSpecFile(Map<String, Object> objs) {
|
||||
OpenAPI openAPI = (OpenAPI) objs.get("openAPI");
|
||||
if (openAPI != null) {
|
||||
try {
|
||||
|
@ -652,19 +652,6 @@ public abstract class AbstractApexCodegen extends DefaultCodegen implements Code
|
||||
return escapeText(pattern);
|
||||
}
|
||||
|
||||
public boolean convertPropertyToBoolean(String propertyKey) {
|
||||
boolean booleanValue = false;
|
||||
if (additionalProperties.containsKey(propertyKey)) {
|
||||
booleanValue = Boolean.valueOf(additionalProperties.get(propertyKey).toString());
|
||||
}
|
||||
|
||||
return booleanValue;
|
||||
}
|
||||
|
||||
public void writePropertyBack(String propertyKey, boolean value) {
|
||||
additionalProperties.put(propertyKey, value);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String sanitizeTag(String tag) {
|
||||
return camelize(sanitizeName(tag));
|
||||
|
@ -1060,7 +1060,7 @@ public abstract class AbstractJavaCodegen extends DefaultCodegen implements Code
|
||||
String defaultContentType = "application/json";
|
||||
Set<String> producesInfo = getProducesInfo(openAPI, operation);
|
||||
if (producesInfo != null && !producesInfo.isEmpty()) {
|
||||
ArrayList<String> produces = new ArrayList<String>(producesInfo);
|
||||
ArrayList<String> produces = new ArrayList<>(producesInfo);
|
||||
StringBuilder sb = new StringBuilder();
|
||||
for (String produce : produces) {
|
||||
if (defaultContentType.equalsIgnoreCase(produce)) {
|
||||
@ -1085,7 +1085,7 @@ public abstract class AbstractJavaCodegen extends DefaultCodegen implements Code
|
||||
|
||||
@Override
|
||||
protected boolean needToImport(String type) {
|
||||
return super.needToImport(type) && type.indexOf(".") < 0;
|
||||
return super.needToImport(type) && !type.contains(".");
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -1183,10 +1183,11 @@ public abstract class AbstractJavaCodegen extends DefaultCodegen implements Code
|
||||
|
||||
if (removedChildEnum) {
|
||||
// If we removed an entry from this model's vars, we need to ensure hasMore is updated
|
||||
int count = 0, numVars = codegenProperties.size();
|
||||
int count = 0;
|
||||
int numVars = codegenProperties.size();
|
||||
for (CodegenProperty codegenProperty : codegenProperties) {
|
||||
count += 1;
|
||||
codegenProperty.hasMore = (count < numVars) ? true : false;
|
||||
codegenProperty.hasMore = count < numVars;
|
||||
}
|
||||
codegenModel.vars = codegenProperties;
|
||||
}
|
||||
@ -1444,27 +1445,13 @@ public abstract class AbstractJavaCodegen extends DefaultCodegen implements Code
|
||||
return escapeText(pattern);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean convertPropertyToBoolean(String propertyKey) {
|
||||
boolean booleanValue = false;
|
||||
if (additionalProperties.containsKey(propertyKey)) {
|
||||
booleanValue = Boolean.valueOf(additionalProperties.get(propertyKey).toString());
|
||||
}
|
||||
|
||||
return booleanValue;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void writePropertyBack(String propertyKey, boolean value) {
|
||||
additionalProperties.put(propertyKey, value);
|
||||
}
|
||||
|
||||
/**
|
||||
* Output the Getter name for boolean property, e.g. isActive
|
||||
*
|
||||
* @param name the name of the property
|
||||
* @return getter name based on naming convention
|
||||
*/
|
||||
@Override
|
||||
public String toBooleanGetter(String name) {
|
||||
return booleanGetterPrefix + getterAndSetterCapitalize(name);
|
||||
}
|
||||
@ -1505,7 +1492,6 @@ public abstract class AbstractJavaCodegen extends DefaultCodegen implements Code
|
||||
return camelize(name, lowercaseFirstLetter);
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public void postProcessFile(File file, String fileType) {
|
||||
if (file == null) {
|
||||
|
@ -56,13 +56,15 @@ public class GroovyClientCodegen extends AbstractJavaCodegen {
|
||||
artifactId = "openapi-groovy";
|
||||
dateLibrary = "legacy"; //TODO: add joda support to groovy
|
||||
|
||||
// clioOptions default redefinition need to be updated
|
||||
// cliOptions default redefinition need to be updated
|
||||
updateOption(CodegenConstants.SOURCE_FOLDER, this.getSourceFolder());
|
||||
updateOption(CodegenConstants.INVOKER_PACKAGE, this.getInvokerPackage());
|
||||
updateOption(CodegenConstants.ARTIFACT_ID, this.getArtifactId());
|
||||
updateOption(CodegenConstants.API_PACKAGE, apiPackage);
|
||||
updateOption(CodegenConstants.MODEL_PACKAGE, modelPackage);
|
||||
updateOption(DATE_LIBRARY, this.getDateLibrary());
|
||||
removeOption(CodegenConstants.ARTIFACT_URL);
|
||||
removeOption(CodegenConstants.ARTIFACT_DESCRIPTION);
|
||||
|
||||
}
|
||||
|
||||
@ -95,7 +97,6 @@ public class GroovyClientCodegen extends AbstractJavaCodegen {
|
||||
@Override
|
||||
public Map<String, Object> postProcessOperationsWithModels(Map<String, Object> operations, List<Object> allModels) {
|
||||
Map<String, Object> objs = (Map<String, Object>) operations.get("operations");
|
||||
|
||||
List<CodegenOperation> ops = (List<CodegenOperation>) objs.get("operation");
|
||||
for (CodegenOperation op : ops) {
|
||||
// Overwrite path to map variable with path parameters
|
||||
|
@ -54,7 +54,7 @@ public class JavaJAXRSSpecServerCodegen extends AbstractJavaJAXRSServerCodegen {
|
||||
apiPackage = "org.openapitools.api";
|
||||
modelPackage = "org.openapitools.model";
|
||||
|
||||
// clioOptions default redifinition need to be updated
|
||||
// cliOptions default redefinition need to be updated
|
||||
updateOption(CodegenConstants.INVOKER_PACKAGE, this.getInvokerPackage());
|
||||
updateOption(CodegenConstants.ARTIFACT_ID, this.getArtifactId());
|
||||
updateOption(CodegenConstants.API_PACKAGE, apiPackage);
|
||||
@ -80,13 +80,7 @@ public class JavaJAXRSSpecServerCodegen extends AbstractJavaJAXRSServerCodegen {
|
||||
|
||||
super.embeddedTemplateDir = templateDir = JAXRS_TEMPLATE_DIRECTORY_NAME + File.separator + "spec";
|
||||
|
||||
for (int i = 0; i < cliOptions.size(); i++) {
|
||||
if (CodegenConstants.LIBRARY.equals(cliOptions.get(i).getOpt())) {
|
||||
cliOptions.remove(i);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
removeOption(CodegenConstants.LIBRARY);
|
||||
CliOption library = new CliOption(CodegenConstants.LIBRARY, CodegenConstants.LIBRARY_DESC).defaultValue(DEFAULT_LIBRARY);
|
||||
Map<String, String> supportedLibraries = new LinkedHashMap<>();
|
||||
supportedLibraries.put(DEFAULT_LIBRARY, "JAXRS");
|
||||
|
@ -20,12 +20,14 @@ class {{classname}} {
|
||||
def bodyParams
|
||||
def contentType
|
||||
|
||||
{{#allParams}}{{#required}}
|
||||
{{#allParams}}
|
||||
{{#required}}
|
||||
// verify required params are set
|
||||
if ({{paramName}} == null) {
|
||||
throw new RuntimeException("missing required params {{paramName}}")
|
||||
}
|
||||
{{/required}}{{/allParams}}
|
||||
{{/required}}
|
||||
{{/allParams}}
|
||||
|
||||
{{#queryParams}}
|
||||
if ({{paramName}} != null) {
|
||||
@ -47,15 +49,19 @@ class {{classname}} {
|
||||
contentType = '{{{mediaType}}}';
|
||||
{{/consumes.0}}
|
||||
{{/bodyParam}}
|
||||
{{#bodyParams.0}}
|
||||
{{^hasMore}}
|
||||
bodyParams = {{paramName}}
|
||||
{{/hasMore}}
|
||||
{{#hasMore}}
|
||||
bodyParams = [:]
|
||||
bodyParams.put("{{baseName}}", {{paramName}})
|
||||
{{/hasMore}}
|
||||
{{/bodyParams.0}}
|
||||
{{#bodyParams}}
|
||||
// only one body parameter
|
||||
if (1 == {{bodyParams.size}}) {
|
||||
bodyParams = {{paramName}}
|
||||
}
|
||||
// array of body parameters
|
||||
else {
|
||||
bodyParams.put("{{baseName}}", {{paramName}})
|
||||
}
|
||||
{{#secondaryParam}}
|
||||
bodyParams.put("{{baseName}}", {{paramName}})
|
||||
{{/secondaryParam}}
|
||||
{{/bodyParams}}
|
||||
|
||||
{{#hasFormParams}}
|
||||
@ -63,20 +69,18 @@ class {{classname}} {
|
||||
contentType = '{{{mediaType}}}';
|
||||
{{/consumes.0}}
|
||||
{{#formParams.0}}
|
||||
// only one form parameter
|
||||
if (1 == {{formParams.size}}) {
|
||||
bodyParams = {{paramName}}
|
||||
}
|
||||
// array of form parameters
|
||||
else {
|
||||
bodyParams = [:]
|
||||
}
|
||||
{{^hasMore}}
|
||||
bodyParams = {{paramName}}
|
||||
{{/hasMore}}
|
||||
{{#hasMore}}
|
||||
bodyParams = [:]
|
||||
bodyParams.put("{{baseName}}", {{paramName}})
|
||||
{{/hasMore}}
|
||||
{{/formParams.0}}
|
||||
{{#formParams}}
|
||||
// array of form parameters
|
||||
if (1 < {{formParams.size}}) {
|
||||
bodyParams.put("{{baseName}}", {{paramName}})
|
||||
}
|
||||
{{#secondaryParam}}
|
||||
bodyParams.put("{{baseName}}", {{paramName}})
|
||||
{{/secondaryParam}}
|
||||
{{/formParams}}
|
||||
{{/hasFormParams}}
|
||||
|
||||
|
@ -18,24 +18,15 @@ class PetApi {
|
||||
def bodyParams
|
||||
def contentType
|
||||
|
||||
|
||||
// verify required params are set
|
||||
if (body == null) {
|
||||
throw new RuntimeException("missing required params body")
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
contentType = 'application/json';
|
||||
// only one body parameter
|
||||
if (1 == 1) {
|
||||
bodyParams = body
|
||||
}
|
||||
// array of body parameters
|
||||
else {
|
||||
bodyParams.put("body", body)
|
||||
}
|
||||
bodyParams = body
|
||||
|
||||
|
||||
apiUtils.invokeApi(onSuccess, onFailure, basePath, versionPath, resourcePath, queryParams, headerParams, bodyParams, contentType,
|
||||
@ -53,12 +44,10 @@ class PetApi {
|
||||
def bodyParams
|
||||
def contentType
|
||||
|
||||
|
||||
// verify required params are set
|
||||
if (petId == null) {
|
||||
throw new RuntimeException("missing required params petId")
|
||||
}
|
||||
|
||||
|
||||
|
||||
if (apiKey != null) {
|
||||
@ -82,12 +71,10 @@ class PetApi {
|
||||
def bodyParams
|
||||
def contentType
|
||||
|
||||
|
||||
// verify required params are set
|
||||
if (status == null) {
|
||||
throw new RuntimeException("missing required params status")
|
||||
}
|
||||
|
||||
|
||||
if (status != null) {
|
||||
queryParams.put("status", status)
|
||||
@ -111,12 +98,10 @@ class PetApi {
|
||||
def bodyParams
|
||||
def contentType
|
||||
|
||||
|
||||
// verify required params are set
|
||||
if (tags == null) {
|
||||
throw new RuntimeException("missing required params tags")
|
||||
}
|
||||
|
||||
|
||||
if (tags != null) {
|
||||
queryParams.put("tags", tags)
|
||||
@ -140,12 +125,10 @@ class PetApi {
|
||||
def bodyParams
|
||||
def contentType
|
||||
|
||||
|
||||
// verify required params are set
|
||||
if (petId == null) {
|
||||
throw new RuntimeException("missing required params petId")
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
@ -166,24 +149,15 @@ class PetApi {
|
||||
def bodyParams
|
||||
def contentType
|
||||
|
||||
|
||||
// verify required params are set
|
||||
if (body == null) {
|
||||
throw new RuntimeException("missing required params body")
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
contentType = 'application/json';
|
||||
// only one body parameter
|
||||
if (1 == 1) {
|
||||
bodyParams = body
|
||||
}
|
||||
// array of body parameters
|
||||
else {
|
||||
bodyParams.put("body", body)
|
||||
}
|
||||
bodyParams = body
|
||||
|
||||
|
||||
apiUtils.invokeApi(onSuccess, onFailure, basePath, versionPath, resourcePath, queryParams, headerParams, bodyParams, contentType,
|
||||
@ -201,33 +175,18 @@ class PetApi {
|
||||
def bodyParams
|
||||
def contentType
|
||||
|
||||
|
||||
// verify required params are set
|
||||
if (petId == null) {
|
||||
throw new RuntimeException("missing required params petId")
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
contentType = 'application/x-www-form-urlencoded';
|
||||
// only one form parameter
|
||||
if (1 == 2) {
|
||||
bodyParams = name
|
||||
}
|
||||
// array of form parameters
|
||||
else {
|
||||
bodyParams = [:]
|
||||
}
|
||||
// array of form parameters
|
||||
if (1 < 2) {
|
||||
bodyParams.put("name", name)
|
||||
}
|
||||
// array of form parameters
|
||||
if (1 < 2) {
|
||||
bodyParams.put("status", status)
|
||||
}
|
||||
bodyParams = [:]
|
||||
bodyParams.put("name", name)
|
||||
bodyParams.put("status", status)
|
||||
|
||||
apiUtils.invokeApi(onSuccess, onFailure, basePath, versionPath, resourcePath, queryParams, headerParams, bodyParams, contentType,
|
||||
"POST", "",
|
||||
@ -244,33 +203,18 @@ class PetApi {
|
||||
def bodyParams
|
||||
def contentType
|
||||
|
||||
|
||||
// verify required params are set
|
||||
if (petId == null) {
|
||||
throw new RuntimeException("missing required params petId")
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
contentType = 'multipart/form-data';
|
||||
// only one form parameter
|
||||
if (1 == 2) {
|
||||
bodyParams = additionalMetadata
|
||||
}
|
||||
// array of form parameters
|
||||
else {
|
||||
bodyParams = [:]
|
||||
}
|
||||
// array of form parameters
|
||||
if (1 < 2) {
|
||||
bodyParams.put("additionalMetadata", additionalMetadata)
|
||||
}
|
||||
// array of form parameters
|
||||
if (1 < 2) {
|
||||
bodyParams.put("file", file)
|
||||
}
|
||||
bodyParams = [:]
|
||||
bodyParams.put("additionalMetadata", additionalMetadata)
|
||||
bodyParams.put("file", file)
|
||||
|
||||
apiUtils.invokeApi(onSuccess, onFailure, basePath, versionPath, resourcePath, queryParams, headerParams, bodyParams, contentType,
|
||||
"POST", "",
|
||||
|
@ -17,12 +17,10 @@ class StoreApi {
|
||||
def bodyParams
|
||||
def contentType
|
||||
|
||||
|
||||
// verify required params are set
|
||||
if (orderId == null) {
|
||||
throw new RuntimeException("missing required params orderId")
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
@ -43,7 +41,6 @@ class StoreApi {
|
||||
def bodyParams
|
||||
def contentType
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@ -64,12 +61,10 @@ class StoreApi {
|
||||
def bodyParams
|
||||
def contentType
|
||||
|
||||
|
||||
// verify required params are set
|
||||
if (orderId == null) {
|
||||
throw new RuntimeException("missing required params orderId")
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
@ -90,24 +85,15 @@ class StoreApi {
|
||||
def bodyParams
|
||||
def contentType
|
||||
|
||||
|
||||
// verify required params are set
|
||||
if (body == null) {
|
||||
throw new RuntimeException("missing required params body")
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
contentType = 'application/json';
|
||||
// only one body parameter
|
||||
if (1 == 1) {
|
||||
bodyParams = body
|
||||
}
|
||||
// array of body parameters
|
||||
else {
|
||||
bodyParams.put("body", body)
|
||||
}
|
||||
bodyParams = body
|
||||
|
||||
|
||||
apiUtils.invokeApi(onSuccess, onFailure, basePath, versionPath, resourcePath, queryParams, headerParams, bodyParams, contentType,
|
||||
|
@ -18,24 +18,15 @@ class UserApi {
|
||||
def bodyParams
|
||||
def contentType
|
||||
|
||||
|
||||
// verify required params are set
|
||||
if (body == null) {
|
||||
throw new RuntimeException("missing required params body")
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
contentType = 'application/json';
|
||||
// only one body parameter
|
||||
if (1 == 1) {
|
||||
bodyParams = body
|
||||
}
|
||||
// array of body parameters
|
||||
else {
|
||||
bodyParams.put("body", body)
|
||||
}
|
||||
bodyParams = body
|
||||
|
||||
|
||||
apiUtils.invokeApi(onSuccess, onFailure, basePath, versionPath, resourcePath, queryParams, headerParams, bodyParams, contentType,
|
||||
@ -53,24 +44,15 @@ class UserApi {
|
||||
def bodyParams
|
||||
def contentType
|
||||
|
||||
|
||||
// verify required params are set
|
||||
if (body == null) {
|
||||
throw new RuntimeException("missing required params body")
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
contentType = 'application/json';
|
||||
// only one body parameter
|
||||
if (1 == 1) {
|
||||
bodyParams = body
|
||||
}
|
||||
// array of body parameters
|
||||
else {
|
||||
bodyParams.put("body", body)
|
||||
}
|
||||
bodyParams = body
|
||||
|
||||
|
||||
apiUtils.invokeApi(onSuccess, onFailure, basePath, versionPath, resourcePath, queryParams, headerParams, bodyParams, contentType,
|
||||
@ -88,24 +70,15 @@ class UserApi {
|
||||
def bodyParams
|
||||
def contentType
|
||||
|
||||
|
||||
// verify required params are set
|
||||
if (body == null) {
|
||||
throw new RuntimeException("missing required params body")
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
contentType = 'application/json';
|
||||
// only one body parameter
|
||||
if (1 == 1) {
|
||||
bodyParams = body
|
||||
}
|
||||
// array of body parameters
|
||||
else {
|
||||
bodyParams.put("body", body)
|
||||
}
|
||||
bodyParams = body
|
||||
|
||||
|
||||
apiUtils.invokeApi(onSuccess, onFailure, basePath, versionPath, resourcePath, queryParams, headerParams, bodyParams, contentType,
|
||||
@ -123,12 +96,10 @@ class UserApi {
|
||||
def bodyParams
|
||||
def contentType
|
||||
|
||||
|
||||
// verify required params are set
|
||||
if (username == null) {
|
||||
throw new RuntimeException("missing required params username")
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
@ -149,12 +120,10 @@ class UserApi {
|
||||
def bodyParams
|
||||
def contentType
|
||||
|
||||
|
||||
// verify required params are set
|
||||
if (username == null) {
|
||||
throw new RuntimeException("missing required params username")
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
@ -175,17 +144,14 @@ class UserApi {
|
||||
def bodyParams
|
||||
def contentType
|
||||
|
||||
|
||||
// verify required params are set
|
||||
if (username == null) {
|
||||
throw new RuntimeException("missing required params username")
|
||||
}
|
||||
|
||||
// verify required params are set
|
||||
if (password == null) {
|
||||
throw new RuntimeException("missing required params password")
|
||||
}
|
||||
|
||||
|
||||
if (username != null) {
|
||||
queryParams.put("username", username)
|
||||
@ -212,7 +178,6 @@ class UserApi {
|
||||
def bodyParams
|
||||
def contentType
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@ -233,29 +198,19 @@ class UserApi {
|
||||
def bodyParams
|
||||
def contentType
|
||||
|
||||
|
||||
// verify required params are set
|
||||
if (username == null) {
|
||||
throw new RuntimeException("missing required params username")
|
||||
}
|
||||
|
||||
// verify required params are set
|
||||
if (body == null) {
|
||||
throw new RuntimeException("missing required params body")
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
contentType = 'application/json';
|
||||
// only one body parameter
|
||||
if (1 == 1) {
|
||||
bodyParams = body
|
||||
}
|
||||
// array of body parameters
|
||||
else {
|
||||
bodyParams.put("body", body)
|
||||
}
|
||||
bodyParams = body
|
||||
|
||||
|
||||
apiUtils.invokeApi(onSuccess, onFailure, basePath, versionPath, resourcePath, queryParams, headerParams, bodyParams, contentType,
|
||||
|
Loading…
x
Reference in New Issue
Block a user