Skip to content

Commit 241400a

Browse files
knuteriklGoopher Maijenburg
authored andcommitted
fix(kotlin): set isVoid to true for Unit datatypes (OpenAPITools#21940)
1 parent 18395da commit 241400a

File tree

3 files changed

+21
-0
lines changed

3 files changed

+21
-0
lines changed

modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AbstractKotlinCodegen.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1119,6 +1119,8 @@ protected ImmutableMap.Builder<String, Mustache.Lambda> addMustacheLambdas() {
11191119
}
11201120

11211121
protected interface DataTypeAssigner {
1122+
void setIsVoid(Boolean isVoid);
1123+
11221124
void setReturnType(String returnType);
11231125

11241126
void setReturnContainer(String returnContainer);
@@ -1131,6 +1133,7 @@ protected interface DataTypeAssigner {
11311133
protected void doDataTypeAssignment(final String returnType, DataTypeAssigner dataTypeAssigner) {
11321134
if (returnType == null) {
11331135
dataTypeAssigner.setReturnType("Unit");
1136+
dataTypeAssigner.setIsVoid(true);
11341137
} else if (returnType.startsWith("kotlin.collections.List")) {
11351138
int end = returnType.lastIndexOf(">");
11361139
if (end > 0) {

modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/KotlinServerCodegen.java

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -418,6 +418,11 @@ public OperationsMap postProcessOperationsWithModels(OperationsMap objs, List<Mo
418418
}
419419

420420
doDataTypeAssignment(resp.dataType, new DataTypeAssigner() {
421+
@Override
422+
public void setIsVoid(Boolean isVoid) {
423+
resp.isVoid = isVoid;
424+
}
425+
421426
@Override
422427
public void setReturnType(final String returnType) {
423428
resp.dataType = returnType;
@@ -432,6 +437,10 @@ public void setReturnContainer(final String returnContainer) {
432437
}
433438

434439
doDataTypeAssignment(operation.returnType, new DataTypeAssigner() {
440+
@Override
441+
public void setIsVoid(Boolean isVoid) {
442+
operation.isVoid = isVoid;
443+
}
435444

436445
@Override
437446
public void setReturnType(final String returnType) {

modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/KotlinSpringServerCodegen.java

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -880,6 +880,11 @@ public OperationsMap postProcessOperationsWithModels(OperationsMap objs, List<Mo
880880
resp.baseType = getNonMutableContainerTypeIfNeeded(resp.baseType);
881881

882882
doDataTypeAssignment(resp.dataType, new DataTypeAssigner() {
883+
@Override
884+
public void setIsVoid(Boolean isVoid) {
885+
resp.isVoid = isVoid;
886+
}
887+
883888
@Override
884889
public void setReturnType(final String returnType) {
885890
resp.dataType = returnType;
@@ -904,6 +909,10 @@ public void setReturnContainer(final String returnContainer) {
904909
}
905910

906911
doDataTypeAssignment(operation.returnType, new DataTypeAssigner() {
912+
@Override
913+
public void setIsVoid(Boolean isVoid) {
914+
operation.isVoid = isVoid;
915+
}
907916

908917
@Override
909918
public void setReturnType(final String returnType) {

0 commit comments

Comments
 (0)