From daf6744e081c28cc7b4d2ae5fc0c5bacb25c2565 Mon Sep 17 00:00:00 2001 From: Jean-Francois Cote Date: Fri, 22 Jun 2018 12:27:05 -0400 Subject: [PATCH] This fix the problem of having UNKNOWN_BASE_TYPE and "Object" type --- .../openapitools/codegen/DefaultCodegen.java | 23 ++++++++----------- 1 file changed, 10 insertions(+), 13 deletions(-) diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/DefaultCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/DefaultCodegen.java index 2a5a3b7f43e7..2188d24e97f0 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/DefaultCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/DefaultCodegen.java @@ -4249,19 +4249,16 @@ public CodegenParameter fromRequestBody(RequestBody body, Map sc if (schema.getAdditionalProperties() != null) {// http body is map LOGGER.error("Map should be supported. Please report to openapi-generator github repo about the issue."); } else if (codegenProperty != null) { - LOGGER.warn("The following schema has undefined (null) baseType. " + - "It could be due to form parameter defined in OpenAPI v2 spec with incorrect consumes. " + - "A correct 'consumes' for form parameters should be " + - "'application/x-www-form-urlencoded' or 'multipart/form-data'"); - LOGGER.warn("schema: " + schema); - LOGGER.warn("Defaulting baseType to UNKNOWN_BASE_TYPE"); - codegenProperty.baseType = "UNKNOWN_BASE_TYPE"; - - codegenParameter.baseName = codegenProperty.baseType; - codegenParameter.baseType = codegenProperty.baseType; - codegenParameter.dataType = codegenProperty.dataType; - codegenParameter.description = codegenProperty.description; - codegenParameter.paramName = toParamName(codegenProperty.baseType); + if (StringUtils.isEmpty(bodyParameterName)) { + codegenParameter.baseName = codegenModel.classname; + } else { + codegenParameter.baseName = bodyParameterName; + } + codegenParameter.paramName = toParamName(codegenParameter.baseName); + codegenParameter.baseType = codegenModel.classname; + codegenParameter.dataType = getTypeDeclaration(codegenModel.classname); + codegenParameter.description = codegenModel.description; + imports.add(codegenParameter.baseType); if (codegenProperty.complexType != null) { imports.add(codegenProperty.complexType);