diff --git a/multiapi-engine/pom.xml b/multiapi-engine/pom.xml
index 795c5577..b925bc3a 100644
--- a/multiapi-engine/pom.xml
+++ b/multiapi-engine/pom.xml
@@ -4,7 +4,7 @@
com.sngular
multiapi-engine
- 6.1.0
+ 6.2.0
jar
diff --git a/multiapi-engine/src/main/java/com/sngular/api/generator/plugin/common/model/SchemaFieldObjectType.java b/multiapi-engine/src/main/java/com/sngular/api/generator/plugin/common/model/SchemaFieldObjectType.java
index 4bf57f22..61f91c70 100644
--- a/multiapi-engine/src/main/java/com/sngular/api/generator/plugin/common/model/SchemaFieldObjectType.java
+++ b/multiapi-engine/src/main/java/com/sngular/api/generator/plugin/common/model/SchemaFieldObjectType.java
@@ -6,13 +6,14 @@
package com.sngular.api.generator.plugin.common.model;
-import java.util.AbstractMap.SimpleImmutableEntry;
-import java.util.Map;
-import java.util.Objects;
import com.sngular.api.generator.plugin.openapi.exception.CodeGenerationException;
import lombok.Data;
import org.apache.commons.lang3.StringUtils;
+import java.util.AbstractMap.SimpleImmutableEntry;
+import java.util.Map;
+import java.util.Objects;
+
@Data
public class SchemaFieldObjectType {
@@ -38,6 +39,21 @@ public class SchemaFieldObjectType {
new SimpleImmutableEntry<>(TypeConstants.MULTIPART_FILE, "MultipartFile")
);
+ private static final Map IMPORT_TYPE_MAPPINGS = Map.ofEntries(
+ new SimpleImmutableEntry<>(TypeConstants.OBJECT, "java.util.Object"),
+ new SimpleImmutableEntry<>(TypeConstants.ARRAY, "java.util.List"),
+ new SimpleImmutableEntry<>(TypeConstants.MAP, "java.util.Map"),
+ new SimpleImmutableEntry<>(TypeConstants.BIG_DECIMAL, "java.math.BigDecimal"),
+ new SimpleImmutableEntry<>(TypeConstants.STRING, "java.util.String"),
+ new SimpleImmutableEntry<>(TypeConstants.LOCALDATE, "java.time.LocalDate"),
+ new SimpleImmutableEntry<>(TypeConstants.LOCALDATETIME, "java.time.LocalDateTime"),
+ new SimpleImmutableEntry<>(TypeConstants.ZONEDDATE, "java.time." + ZONED_DATE_TIME),
+ new SimpleImmutableEntry<>(TypeConstants.ZONEDDATETIME, "java.time." + ZONED_DATE_TIME),
+ new SimpleImmutableEntry<>(TypeConstants.OFFSETDATE, "java.time." + OFFSET_DATE_TIME),
+ new SimpleImmutableEntry<>(TypeConstants.OFFSETDATETIME, "java.time." + OFFSET_DATE_TIME),
+ new SimpleImmutableEntry<>(TypeConstants.MULTIPART_FILE, "MultipartFile")
+ );
+
private static final Map IMPL_TYPE_MAPPINGS = Map.ofEntries(
new SimpleImmutableEntry<>(TypeConstants.OBJECT, "Object"),
new SimpleImmutableEntry<>(TypeConstants.ARRAY, "ArrayList>"),
@@ -141,8 +157,7 @@ public String toString() {
@Override
public boolean equals(final Object obj) {
boolean result = false;
- if (obj instanceof SchemaFieldObjectType) {
- final SchemaFieldObjectType other = (SchemaFieldObjectType) obj;
+ if (obj instanceof SchemaFieldObjectType other) {
final boolean baseTypeIsEqual = baseType.equals(other.baseType);
final boolean innerTypeIsEqual = Objects.isNull(innerType) ? Objects.isNull(other.innerType) : innerType.equals(other.innerType);
result = baseTypeIsEqual && innerTypeIsEqual;
@@ -155,4 +170,8 @@ public boolean equals(final Object obj) {
public int hashCode() {
return Objects.hash(Objects.isNull(innerType) ? 0 : innerType.hashCode(), baseType);
}
+
+ public String getImportName() {
+ return IMPORT_TYPE_MAPPINGS.get(this.baseType);
+ }
}
diff --git a/multiapi-engine/src/main/java/com/sngular/api/generator/plugin/common/tools/MapperUtil.java b/multiapi-engine/src/main/java/com/sngular/api/generator/plugin/common/tools/MapperUtil.java
index 11529a15..7906d124 100644
--- a/multiapi-engine/src/main/java/com/sngular/api/generator/plugin/common/tools/MapperUtil.java
+++ b/multiapi-engine/src/main/java/com/sngular/api/generator/plugin/common/tools/MapperUtil.java
@@ -22,6 +22,7 @@ public class MapperUtil {
private static final String SLASH = "/";
private static final String PACKAGE_SEPARATOR_STR = ".";
+ public static final String JAVA_TIME = "java.time.";
private MapperUtil() {}
@@ -154,37 +155,19 @@ public static String getPojoNameFromRef(final JsonNode schema, final CommonSpecF
}
public static String getDateType(final JsonNode schema, final CommonSpecFile specFile) {
- final String dateType;
- switch (ApiTool.getFormat(schema)) {
-
- case "date":
- switch (specFile.getUseTimeType()) {
- case ZONED:
- dateType = TypeConstants.ZONEDDATE;
- break;
- case OFFSET:
- dateType = TypeConstants.OFFSETDATE;
- break;
- default:
- dateType = TypeConstants.LOCALDATE;
- }
- break;
- case "date-time":
- switch (specFile.getUseTimeType()) {
- case ZONED:
- dateType = TypeConstants.ZONEDDATETIME;
- break;
- case OFFSET:
- dateType = TypeConstants.OFFSETDATETIME;
- break;
- default:
- dateType = TypeConstants.LOCALDATETIME;
- }
- break;
- default:
- dateType = TypeConstants.LOCALDATETIME;
- }
- return dateType;
+ return switch (ApiTool.getFormat(schema)) {
+ case "date" -> switch (specFile.getUseTimeType()) {
+ case ZONED -> TypeConstants.ZONEDDATE;
+ case OFFSET -> TypeConstants.OFFSETDATE;
+ default -> TypeConstants.LOCALDATE;
+ };
+ case "date-time" -> switch (specFile.getUseTimeType()) {
+ case ZONED -> TypeConstants.ZONEDDATETIME;
+ case OFFSET -> TypeConstants.OFFSETDATETIME;
+ default -> TypeConstants.LOCALDATETIME;
+ };
+ default -> TypeConstants.LOCALDATETIME;
+ };
}
public static String getRefClass(final JsonNode schema) {
diff --git a/multiapi-engine/src/main/java/com/sngular/api/generator/plugin/openapi/utils/MapperPathUtil.java b/multiapi-engine/src/main/java/com/sngular/api/generator/plugin/openapi/utils/MapperPathUtil.java
index ae30157d..fefa109f 100644
--- a/multiapi-engine/src/main/java/com/sngular/api/generator/plugin/openapi/utils/MapperPathUtil.java
+++ b/multiapi-engine/src/main/java/com/sngular/api/generator/plugin/openapi/utils/MapperPathUtil.java
@@ -238,13 +238,15 @@ private static List mapParameterObjects(
private static ParameterObject buildParameterObject(
final SpecFile specFile, final GlobalObject globalObject, final JsonNode refParameter, final Path baseDir) {
+ final var dateType = getSchemaType(getContentOrSchema(refParameter), TypeConstants.OBJECT, specFile, globalObject, baseDir);
return ParameterObject.builder()
.name(ApiTool.getName(refParameter))
.required(ApiTool.getNodeAsBoolean(refParameter, REQUIRED))
.description(ApiTool.getNodeAsString(refParameter, DESCRIPTION))
.in(ApiTool.getNodeAsString(refParameter, "in"))
- .dataType(getSchemaType(getContentOrSchema(refParameter), TypeConstants.OBJECT, specFile, globalObject, baseDir))
+ .dataType(dateType)
.isCollection(ApiTool.hasItems(getContentOrSchema(refParameter)))
+ .importName(dateType.getImportName())
.build();
}
diff --git a/multiapi-engine/src/main/resources/templates/openapi/template.ftlh b/multiapi-engine/src/main/resources/templates/openapi/template.ftlh
index 7c7296c8..f98549b4 100644
--- a/multiapi-engine/src/main/resources/templates/openapi/template.ftlh
+++ b/multiapi-engine/src/main/resources/templates/openapi/template.ftlh
@@ -1,6 +1,52 @@
<#ftl output_format="plainText">
package <#if packageApi??>${packageApi}<#elseif package??> ${package}#if>;
+<#assign imports=[]>
+<#assign model_imports=[]>
+<#list pathObjects as path>
+ <#list path.operationObjects as operation>
+ <#list operation.requestObjects as request>
+ <#list request.contentObjects as content>
+ <#if content.importName?? && (!imports?seq_contains(content.importName)) && (!model_imports?seq_contains(content.importName))>
+ <#if (!checkBasicTypes?seq_contains(content.importName))>
+ <#if (!content.importName?contains("java."))>
+ <#assign model_imports = model_imports+[content.importName]>
+ <#else>
+ <#assign imports = imports+[content.importName]>
+ #if>
+ #if>
+ #if>
+ #list>
+ #list>
+ <#list operation.responseObjects as response>
+ <#list response.contentObjects as content>
+ <#if content.importName?? && (!imports?seq_contains(content.importName)) && (!model_imports?seq_contains(content.importName))>
+ <#if (!checkBasicTypes?seq_contains(content.importName))>
+ <#if (!content.importName?contains("java."))>
+ <#assign model_imports = model_imports+[content.importName]>
+ <#else>
+ <#assign imports = imports+[content.importName]>
+ #if>
+ #if>
+ #if>
+ #list>
+ #list>
+ <#list operation.parameterObjects as parameter>
+ <#if parameter.importName?? && (!imports?seq_contains(parameter.importName)) && (!model_imports?seq_contains(parameter.importName))>
+ <#if (!checkBasicTypes?seq_contains(parameter.importName))>
+ <#if (!parameter.importName?contains("java."))>
+ <#assign model_imports = model_imports+[parameter.importName]>
+ <#else>
+ <#assign imports = imports+[parameter.importName]>
+ #if>
+ #if>
+ #if>
+ #list>
+ #list>
+#list>
+<#list imports as import>
+import ${import};
+#list>
import java.util.Optional;
import java.util.List;
import java.util.Map;
@@ -17,37 +63,7 @@ import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.context.request.NativeWebRequest;
-<#assign imports=[]>
-<#list pathObjects as path>
- <#list path.operationObjects as operation>
- <#list operation.requestObjects as request>
- <#list request.contentObjects as content>
- <#if content.importName?? && (!imports?seq_contains(content.importName))>
- <#if (!checkBasicTypes?seq_contains(content.importName))>
- <#assign imports = imports+[content.importName]>
- #if>
- #if>
- #list>
- #list>
- <#list operation.responseObjects as response>
- <#list response.contentObjects as content>
- <#if content.importName?? && (!imports?seq_contains(content.importName))>
- <#if (!checkBasicTypes?seq_contains(content.importName))>
- <#assign imports = imports+[content.importName]>
- #if>
- #if>
- #list>
- #list>
- <#list operation.parameterObjects as parameter>
- <#if parameter.importName?? && (!imports?seq_contains(parameter.importName))>
- <#if (!checkBasicTypes?seq_contains(parameter.importName))>
- <#assign imports = imports+[parameter.importName]>
- #if>
- #if>
- #list>
- #list>
-#list>
-<#list imports as import>
+<#list model_imports as import>
import <#if packageModel??>${packageModel}<#elseif package??>${package}#if>.${import};
#list>
diff --git a/multiapi-engine/src/main/resources/templates/openapi/templateCallRestClient.ftlh b/multiapi-engine/src/main/resources/templates/openapi/templateCallRestClient.ftlh
index e4bbc8ef..d65f406f 100644
--- a/multiapi-engine/src/main/resources/templates/openapi/templateCallRestClient.ftlh
+++ b/multiapi-engine/src/main/resources/templates/openapi/templateCallRestClient.ftlh
@@ -1,43 +1,59 @@
<#ftl output_format="plainText">
package <#if packageApi??>${packageApi}<#elseif package??> ${package}#if>;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-import ${packageClient}.ApiRestClient;
-
<#assign imports=[]>
+<#assign model_imports=[]>
<#list pathObjects as path>
<#list path.operationObjects as operation>
<#list operation.requestObjects as request>
<#list request.contentObjects as content>
- <#if content.importName?? && (!imports?seq_contains(content.importName))>
+ <#if content.importName?? && (!imports?seq_contains(content.importName)) && (!model_imports?seq_contains(content.importName))>
<#if (!checkBasicTypes?seq_contains(content.importName))>
- <#assign imports = imports+[content.importName]>
+ <#if (!content.importName?contains("java."))>
+ <#assign model_imports = model_imports+[content.importName]>
+ <#else>
+ <#assign imports = imports+[content.importName]>
+ #if>
#if>
#if>
#list>
#list>
<#list operation.responseObjects as response>
<#list response.contentObjects as content>
- <#if content.importName?? && (!imports?seq_contains(content.importName))>
+ <#if content.importName?? && (!imports?seq_contains(content.importName)) && (!model_imports?seq_contains(content.importName))>
<#if (!checkBasicTypes?seq_contains(content.importName))>
- <#assign imports = imports+[content.importName]>
+ <#if (!content.importName?contains("java."))>
+ <#assign model_imports = model_imports+[content.importName]>
+ <#else>
+ <#assign imports = imports+[content.importName]>
+ #if>
#if>
#if>
#list>
#list>
<#list operation.parameterObjects as parameter>
- <#if parameter.importName?? && (!imports?seq_contains(parameter.importName))>
- <#if (!checkBasicTypes?seq_contains(parameter.importName))>
+ <#if parameter.importName?? && (!imports?seq_contains(parameter.importName)) && (!model_imports?seq_contains(parameter.importName))>
+ <#if (!checkBasicTypes?seq_contains(parameter.importName))>
+ <#if (!parameter.importName?contains("java."))>
+ <#assign model_imports = model_imports+[parameter.importName]>
+ <#else>
<#assign imports = imports+[parameter.importName]>
#if>
#if>
+ #if>
#list>
#list>
#list>
<#list imports as import>
+import ${import};
+#list>
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+import ${packageClient}.ApiRestClient;
+
+<#list model_imports as import>
import <#if packageModel??>${packageModel}<#elseif package??>${package}#if>.${import};
#list>
@@ -93,15 +109,21 @@ public class ${className?cap_first}Api {
* ${operation.operationType} ${path.pathName}<#if operation.summary?has_content>: ${operation.summary}#if>
<#if operation.responseObjects?has_content>
<#if operation.parameterObjects?has_content>
- * <#list operation.parameterObjects as parameter>@param ${parameter.name} ${parameter.description} ${parameter.required?c}#list>
+<#list operation.parameterObjects as parameter>
+ * @param ${parameter.name} ${parameter.description!" "} <#if parameter.required == true>(required)#if>
+#list>
#if>
<#if path.parameterObjects?has_content>
- * <#list path.parameterObjects as parameter>@param ${parameter.name} ${parameter.description} ${parameter.required?c}#list>
+ <#list path.parameterObjects as parameter>
+ * @param ${parameter.name} ${parameter.description!" "} <#if parameter.required == true>(required)#if>
+ #list>
#if>
<#if operation.requestObjects?has_content>
- *<#list operation.requestObjects as request><#list request.contentObjects as content> @param ${content.dataType?api.getVariableNameString()}<#if content?has_next>, #if>#list> ${request.description! ""} <#if request.required == true>(required)#if>#list>
+ <#list operation.requestObjects as request><#list request.contentObjects as content>
+ * @param ${content.dataType?api.getVariableNameString()}<#if content?has_next>, #if>#list> ${request.description! ""} <#if request.required == true>(required)#if>
+ #list>
#if>
- * @return<#list operation.responseObjects as response><#if response.responseName != "default"> ${response.description}; (status code ${response.responseName})#if>#list>
+ * @return<#list operation.responseObjects as response><#if response.responseName != "default"> ${response.description!" "}; (status code ${response.responseName})#if>#list>
#if>
* @throws RestClientException if an error occurs while attempting to invoke the API
*/
@@ -152,7 +174,6 @@ public class ${className?cap_first}Api {
<#if operation.parameterObjects?has_content>
<#list operation.parameterObjects as parameter>
<#if parameter.in == "query">
-
queryParams.putAll(apiRestClient.parameterToMultiValueMap(<#if parameter.isCollection == true> ApiRestClient.CollectionFormat.valueOf("{{{.}}}".toUpperCase(Locale.ROOT))<#else> null#if>, "${parameter.name}", ${parameter.name}));
#if>
#list>
diff --git a/multiapi-engine/src/main/resources/templates/openapi/templateCallWebClient.ftlh b/multiapi-engine/src/main/resources/templates/openapi/templateCallWebClient.ftlh
index d11d7fec..f82117c8 100644
--- a/multiapi-engine/src/main/resources/templates/openapi/templateCallWebClient.ftlh
+++ b/multiapi-engine/src/main/resources/templates/openapi/templateCallWebClient.ftlh
@@ -1,44 +1,59 @@
<#ftl output_format="plainText">
package <#if packageApi??>${packageApi}<#elseif package??> ${package}#if>;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-import ${packageClient}.ApiWebClient;
-
<#assign imports=[]>
+<#assign model_imports=[]>
<#list pathObjects as path>
<#list path.operationObjects as operation>
<#list operation.requestObjects as request>
<#list request.contentObjects as content>
- <#if content.importName?? && (!imports?seq_contains(content.importName))>
+ <#if content.importName?? && (!imports?seq_contains(content.importName)) && (!model_imports?seq_contains(content.importName))>
<#if (!checkBasicTypes?seq_contains(content.importName))>
- <#assign imports = imports+[content.importName]>
+ <#if (!content.importName?contains("java."))>
+ <#assign model_imports = model_imports+[content.importName]>
+ <#else>
+ <#assign imports = imports+[content.importName]>
+ #if>
#if>
#if>
#list>
#list>
<#list operation.responseObjects as response>
<#list response.contentObjects as content>
- <#if content.importName?? && (!imports?seq_contains(content.importName))>
+ <#if content.importName?? && (!imports?seq_contains(content.importName)) && (!model_imports?seq_contains(content.importName))>
<#if (!checkBasicTypes?seq_contains(content.importName))>
- <#assign imports = imports+[content.importName]>
+ <#if (!content.importName?contains("java."))>
+ <#assign model_imports = model_imports+[content.importName]>
+ <#else>
+ <#assign imports = imports+[content.importName]>
+ #if>
#if>
#if>
#list>
#list>
<#list operation.parameterObjects as parameter>
- <#if parameter.importName?? && (!imports?seq_contains(parameter.importName))>
- <#if (!checkBasicTypes?seq_contains(parameter.importName))>
+ <#if parameter.importName?? && (!imports?seq_contains(parameter.importName)) && (!model_imports?seq_contains(parameter.importName))>
+ <#if (!checkBasicTypes?seq_contains(parameter.importName))>
+ <#if (!parameter.importName?contains("java."))>
+ <#assign model_imports = model_imports+[parameter.importName]>
+ <#else>
<#assign imports = imports+[parameter.importName]>
#if>
#if>
+ #if>
#list>
#list>
#list>
<#list imports as import>
-import <#if packageModel??>${packageModel}<#elseif package??>${package}List<#if>.${import};
+import ${import};
+#list>
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+import ${packageClient}.ApiWebClient;
+<#list model_imports as import>
+import <#if packageModel??>${packageModel}<#elseif package??>${package}#if>.${import};
#list>
import ${packageAuth}.Authentication;
@@ -214,13 +229,19 @@ public class ${className?cap_first}Api {
* ${operation.operationType} ${path.pathName}<#if operation.summary?has_content>: ${operation.summary}#if>
<#if operation.responseObjects?has_content>
<#if operation.parameterObjects?has_content>
- * @param<#list operation.parameterObjects as parameter> ${parameter.name} ${parameter.description} ${parameter.required?c}#list>
+ <#list operation.parameterObjects as parameter>
+ * @param ${parameter.name} ${parameter.description} <#if parameter.required == true>(required)#if>
+ #list>
#if>
<#if path.parameterObjects?has_content>
- * <#list operation.parameterObjects as parameter>@param ${parameter.name} ${parameter.description} ${parameter.required?c}#list>
+<#list operation.parameterObjects as parameter>
+ * @param ${parameter.name} ${parameter.description} <#if parameter.required == true>(required)#if>
+#list>
#if>
<#if operation.requestObjects?has_content>
- * <#list operation.requestObjects as request>@param <#list request.contentObjects as content>${content.dataType?api.getVariableNameString()} <#if content?has_next>, #if>#list> ${request.description! ""}<#if request.required == true> (required)#if>#list>
+<#list operation.requestObjects as request>
+ * @param <#list request.contentObjects as content>${content.dataType?api.getVariableNameString()} <#if content?has_next>, #if>#list> ${request.description! ""}<#if request.required == true> (required)#if>
+#list>
#if>
* @return<#list operation.responseObjects as response><#if response.responseName != "default"> ${response.description}; (status code ${response.responseName})#if>#list>
#if>
diff --git a/multiapi-engine/src/test/resources/openapigenerator/testCoconutSchema/assets/SchemaApi.java b/multiapi-engine/src/test/resources/openapigenerator/testCoconutSchema/assets/SchemaApi.java
index e8b90283..a62557e1 100644
--- a/multiapi-engine/src/test/resources/openapigenerator/testCoconutSchema/assets/SchemaApi.java
+++ b/multiapi-engine/src/test/resources/openapigenerator/testCoconutSchema/assets/SchemaApi.java
@@ -1,5 +1,6 @@
package com.sngular.multifileplugin.testCoconutSchema;
+import java.util.String;
import java.util.Optional;
import java.util.List;
import java.util.Map;
diff --git a/multiapi-engine/src/test/resources/openapigenerator/testCoconutSchema/assets/SchemaMasterApi.java b/multiapi-engine/src/test/resources/openapigenerator/testCoconutSchema/assets/SchemaMasterApi.java
index 634f34ed..85540ca6 100644
--- a/multiapi-engine/src/test/resources/openapigenerator/testCoconutSchema/assets/SchemaMasterApi.java
+++ b/multiapi-engine/src/test/resources/openapigenerator/testCoconutSchema/assets/SchemaMasterApi.java
@@ -1,5 +1,6 @@
package com.sngular.multifileplugin.testCoconutSchema;
+import java.util.String;
import java.util.Optional;
import java.util.List;
import java.util.Map;
diff --git a/multiapi-engine/src/test/resources/openapigenerator/testComplexAnyOf/assets/SchemaApi.java b/multiapi-engine/src/test/resources/openapigenerator/testComplexAnyOf/assets/SchemaApi.java
index be1fcb3c..4bf11f37 100644
--- a/multiapi-engine/src/test/resources/openapigenerator/testComplexAnyOf/assets/SchemaApi.java
+++ b/multiapi-engine/src/test/resources/openapigenerator/testComplexAnyOf/assets/SchemaApi.java
@@ -1,5 +1,6 @@
package com.sngular.multifileplugin.testcomplexanyof.api;
+import java.util.String;
import java.util.Optional;
import java.util.List;
import java.util.Map;
diff --git a/multiapi-engine/src/test/resources/openapigenerator/testComplexAnyOf/assets/SchemaMasterApi.java b/multiapi-engine/src/test/resources/openapigenerator/testComplexAnyOf/assets/SchemaMasterApi.java
index 2e0e4795..da7830f6 100644
--- a/multiapi-engine/src/test/resources/openapigenerator/testComplexAnyOf/assets/SchemaMasterApi.java
+++ b/multiapi-engine/src/test/resources/openapigenerator/testComplexAnyOf/assets/SchemaMasterApi.java
@@ -1,5 +1,6 @@
package com.sngular.multifileplugin.testcomplexanyof.api;
+import java.util.String;
import java.util.Optional;
import java.util.List;
import java.util.Map;
diff --git a/multiapi-engine/src/test/resources/openapigenerator/testQueryParam/assets/TestApi.java b/multiapi-engine/src/test/resources/openapigenerator/testQueryParam/assets/TestApi.java
index 0cdafb06..e6a54cfa 100644
--- a/multiapi-engine/src/test/resources/openapigenerator/testQueryParam/assets/TestApi.java
+++ b/multiapi-engine/src/test/resources/openapigenerator/testQueryParam/assets/TestApi.java
@@ -1,5 +1,6 @@
package com.sngular.multifileplugin.testQueryParam;
+import java.util.String;
import java.util.Optional;
import java.util.List;
import java.util.Map;
diff --git a/multiapi-engine/src/test/resources/openapigenerator/testRestClientApiGeneration/api-test.yml b/multiapi-engine/src/test/resources/openapigenerator/testRestClientApiGeneration/api-test.yml
index 4e795317..ca097028 100644
--- a/multiapi-engine/src/test/resources/openapigenerator/testRestClientApiGeneration/api-test.yml
+++ b/multiapi-engine/src/test/resources/openapigenerator/testRestClientApiGeneration/api-test.yml
@@ -48,6 +48,18 @@ paths:
schema:
type: integer
format: int32
+ - name: pathVariableDate
+ in: path
+ required: true
+ schema:
+ type: string
+ format: date-time
+ - name: QueryParamDate
+ in: query
+ required: true
+ schema:
+ type: string
+ format: date-time
responses:
'200':
description: Expected response to a valid request
diff --git a/multiapi-engine/src/test/resources/openapigenerator/testRestClientApiGeneration/assets/TestApi.java b/multiapi-engine/src/test/resources/openapigenerator/testRestClientApiGeneration/assets/TestApi.java
index 6d8f3fd5..5ff7441e 100644
--- a/multiapi-engine/src/test/resources/openapigenerator/testRestClientApiGeneration/assets/TestApi.java
+++ b/multiapi-engine/src/test/resources/openapigenerator/testRestClientApiGeneration/assets/TestApi.java
@@ -1,5 +1,6 @@
package com.sngular.multifileplugin.restclient;
+import java.time.LocalDateTime;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@@ -74,25 +75,29 @@ public ResponseEntity listTestWithHttpInfo() throws RestClientExcept
/**
* GET /test/{testId}: Info for a specific test
- * @param testId The id of the test to retrieve true
+ * @param testId The id of the test to retrieve (required)
+ * @param pathVariableDate (required)
+ * @param QueryParamDate (required)
* @return Expected response to a valid request; (status code 200)
* @throws RestClientException if an error occurs while attempting to invoke the API
*/
- public ApiTestInfoDTO showTestById(Integer testId) throws RestClientException {
- return showTestByIdWithHttpInfo(testId).getBody();
+ public ApiTestInfoDTO showTestById(Integer testId, LocalDateTime pathVariableDate, LocalDateTime QueryParamDate) throws RestClientException {
+ return showTestByIdWithHttpInfo(testId, pathVariableDate, QueryParamDate).getBody();
}
- public ResponseEntity showTestByIdWithHttpInfo(Integer testId) throws RestClientException {
+ public ResponseEntity showTestByIdWithHttpInfo(Integer testId, LocalDateTime pathVariableDate, LocalDateTime QueryParamDate) throws RestClientException {
Object postBody = null;
final Map uriVariables = new HashMap();
uriVariables.put("testId", testId);
+ uriVariables.put("pathVariableDate", pathVariableDate);
final MultiValueMap queryParams = new LinkedMultiValueMap();
final HttpHeaders headerParams = new HttpHeaders();
final MultiValueMap cookieParams = new LinkedMultiValueMap();
final MultiValueMap formParams = new LinkedMultiValueMap();
+ queryParams.putAll(apiRestClient.parameterToMultiValueMap( null, "QueryParamDate", QueryParamDate));
final String[] localVarAccepts = {"application/json"};
final List localVarAccept = apiRestClient.selectHeaderAccept(localVarAccepts);
final String[] localVarContentTypes = {};
@@ -106,7 +111,7 @@ public ResponseEntity showTestByIdWithHttpInfo(Integer testId) t
/**
* DELETE /test/{testId}: Info for a specific test
- * @param testId The id of the test to retrieve true
+ * @param testId The id of the test to retrieve (required)
* @return No content response; (status code 204)
* @throws RestClientException if an error occurs while attempting to invoke the API
*/
diff --git a/multiapi-engine/src/test/resources/openapigenerator/testRestrictionsSchema/assets/SchemaApi.java b/multiapi-engine/src/test/resources/openapigenerator/testRestrictionsSchema/assets/SchemaApi.java
index 1898232e..db674f74 100644
--- a/multiapi-engine/src/test/resources/openapigenerator/testRestrictionsSchema/assets/SchemaApi.java
+++ b/multiapi-engine/src/test/resources/openapigenerator/testRestrictionsSchema/assets/SchemaApi.java
@@ -1,5 +1,6 @@
package com.sngular.multifileplugin.testRestrictionsSchema;
+import java.util.String;
import java.util.Optional;
import java.util.List;
import java.util.Map;
diff --git a/multiapi-engine/src/test/resources/openapigenerator/testRestrictionsSchema/assets/SchemaMasterApi.java b/multiapi-engine/src/test/resources/openapigenerator/testRestrictionsSchema/assets/SchemaMasterApi.java
index d84a9e88..517c8984 100644
--- a/multiapi-engine/src/test/resources/openapigenerator/testRestrictionsSchema/assets/SchemaMasterApi.java
+++ b/multiapi-engine/src/test/resources/openapigenerator/testRestrictionsSchema/assets/SchemaMasterApi.java
@@ -1,5 +1,6 @@
package com.sngular.multifileplugin.testRestrictionsSchema;
+import java.util.String;
import java.util.Optional;
import java.util.List;
import java.util.Map;
diff --git a/multiapi-engine/src/test/resources/openapigenerator/testSimpleBuild/assets/V1Api.java b/multiapi-engine/src/test/resources/openapigenerator/testSimpleBuild/assets/V1Api.java
index f554c83a..6e7d3148 100644
--- a/multiapi-engine/src/test/resources/openapigenerator/testSimpleBuild/assets/V1Api.java
+++ b/multiapi-engine/src/test/resources/openapigenerator/testSimpleBuild/assets/V1Api.java
@@ -1,5 +1,6 @@
package com.sngular.multifileplugin.testsimplebuild;
+import java.util.String;
import java.util.Optional;
import java.util.List;
import java.util.Map;
diff --git a/multiapi-engine/src/test/resources/openapigenerator/testWebClientApiGeneration/assets/TestApi.java b/multiapi-engine/src/test/resources/openapigenerator/testWebClientApiGeneration/assets/TestApi.java
index c10d2759..0268a469 100644
--- a/multiapi-engine/src/test/resources/openapigenerator/testWebClientApiGeneration/assets/TestApi.java
+++ b/multiapi-engine/src/test/resources/openapigenerator/testWebClientApiGeneration/assets/TestApi.java
@@ -5,7 +5,6 @@
import java.util.Map;
import com.sngular.apigenerator.openapi.client.ApiWebClient;
-
import com.sngular.multifileplugin.webclientapi.model.ApiTestDTO;
import com.sngular.multifileplugin.webclientapi.model.ApiErrorDTO;
import com.sngular.multifileplugin.webclientapi.model.ApiTestInfoDTO;
@@ -111,7 +110,7 @@ private ResponseSpec showTestByIdRequestCreation(Integer testId) throws WebClien
/**
* GET /test/{testId}: Info for a specific test
- * @param testId The id of the test to retrieve true
+ * @param testId The id of the test to retrieve (required)
* @return Expected response to a valid request; (status code 200)
* @throws WebClientResponseException if an error occurs while attempting to invoke the API
*/
diff --git a/scs-multiapi-gradle-plugin/build.gradle b/scs-multiapi-gradle-plugin/build.gradle
index 7744faed..699c6b00 100644
--- a/scs-multiapi-gradle-plugin/build.gradle
+++ b/scs-multiapi-gradle-plugin/build.gradle
@@ -20,7 +20,7 @@ repositories {
}
group = 'com.sngular'
-version = '6.1.0'
+version = '6.2.0'
def SCSMultiApiPluginGroupId = group
def SCSMultiApiPluginVersion = version
@@ -30,7 +30,7 @@ dependencies {
shadow localGroovy()
shadow gradleApi()
- implementation 'com.sngular:multiapi-engine:6.1.0'
+ implementation 'com.sngular:multiapi-engine:6.2.0'
testImplementation 'org.assertj:assertj-core:3.24.2'
testImplementation 'com.puppycrawl.tools:checkstyle:10.12.3'
testImplementation 'org.junit.platform:junit-platform-launcher:1.9.2'
@@ -99,7 +99,7 @@ testing {
integrationTest(JvmTestSuite) {
dependencies {
- implementation 'com.sngular:scs-multiapi-gradle-plugin:6.1.0'
+ implementation 'com.sngular:scs-multiapi-gradle-plugin:6.2.0'
implementation 'org.assertj:assertj-core:3.24.2'
}
diff --git a/scs-multiapi-maven-plugin/pom.xml b/scs-multiapi-maven-plugin/pom.xml
index 8d451fa3..960520d5 100644
--- a/scs-multiapi-maven-plugin/pom.xml
+++ b/scs-multiapi-maven-plugin/pom.xml
@@ -4,7 +4,7 @@
com.sngular
scs-multiapi-maven-plugin
- 6.1.0
+ 6.2.0
maven-plugin
AsyncApi - OpenApi Code Generator Maven Plugin
@@ -271,7 +271,7 @@
com.sngular
multiapi-engine
- 6.1.0
+ 6.2.0
org.apache.maven