diff --git a/docs/generators/kotlin-server.md b/docs/generators/kotlin-server.md index 9e8c7c2291df..4b038546361c 100644 --- a/docs/generators/kotlin-server.md +++ b/docs/generators/kotlin-server.md @@ -19,7 +19,6 @@ These options may be applied as additional-properties (cli) or configOptions (pl | Option | Description | Values | Default | | ------ | ----------- | ------ | ------- | |additionalModelTypeAnnotations|Additional annotations for model type(class level annotations). List separated by semicolon(;) or new line (Linux or Windows)| |null| -|apiSuffix|suffix for api classes| |Api| |artifactId|Generated artifact id (name of jar).| |kotlin-server| |artifactVersion|Generated artifact's package version.| |1.0.0| |enumPropertyNaming|Naming convention for enum properties: 'camelCase', 'PascalCase', 'snake_case', 'UPPERCASE', and 'original'| |original| diff --git a/docs/generators/kotlin-spring.md b/docs/generators/kotlin-spring.md index b40ecbbc5f0c..0ea94187d4c9 100644 --- a/docs/generators/kotlin-spring.md +++ b/docs/generators/kotlin-spring.md @@ -21,7 +21,6 @@ These options may be applied as additional-properties (cli) or configOptions (pl |additionalModelTypeAnnotations|Additional annotations for model type(class level annotations). List separated by semicolon(;) or new line (Linux or Windows)| |null| |annotationLibrary|Select the complementary documentation annotation library.|
**none**
Do not annotate Model and Api with complementary annotations.
**swagger1**
Annotate Model and Api using the Swagger Annotations 1.x library.
**swagger2**
Annotate Model and Api using the Swagger Annotations 2.x library.
|swagger2| |apiPackage|api package for generated code| |org.openapitools.api| -|apiSuffix|suffix for api classes| |Api| |appendRequestToHandler|Append ServerHttpRequest to handler method for getting request stuff| |false| |artifactId|Generated artifact id (name of jar).| |openapi-spring| |artifactVersion|Generated artifact's package version.| |1.0.0| diff --git a/docs/generators/kotlin-vertx.md b/docs/generators/kotlin-vertx.md index 041b7a74087e..ea9b6265f4d2 100644 --- a/docs/generators/kotlin-vertx.md +++ b/docs/generators/kotlin-vertx.md @@ -19,7 +19,6 @@ These options may be applied as additional-properties (cli) or configOptions (pl | Option | Description | Values | Default | | ------ | ----------- | ------ | ------- | |additionalModelTypeAnnotations|Additional annotations for model type(class level annotations). List separated by semicolon(;) or new line (Linux or Windows)| |null| -|apiSuffix|suffix for api classes| |Api| |artifactId|Generated artifact id (name of jar).| |null| |artifactVersion|Generated artifact's package version.| |1.0.0| |enumPropertyNaming|Naming convention for enum properties: 'camelCase', 'PascalCase', 'snake_case', 'UPPERCASE', and 'original'| |original| diff --git a/docs/generators/kotlin-wiremock.md b/docs/generators/kotlin-wiremock.md index c836ebc7f23b..a00a77975402 100644 --- a/docs/generators/kotlin-wiremock.md +++ b/docs/generators/kotlin-wiremock.md @@ -19,7 +19,6 @@ These options may be applied as additional-properties (cli) or configOptions (pl | Option | Description | Values | Default | | ------ | ----------- | ------ | ------- | |additionalModelTypeAnnotations|Additional annotations for model type(class level annotations). List separated by semicolon(;) or new line (Linux or Windows)| |null| -|apiSuffix|suffix for api classes| |Api| |artifactId|Generated artifact id (name of jar).| |null| |artifactVersion|Generated artifact's package version.| |1.0.0| |enumPropertyNaming|Naming convention for enum properties: 'camelCase', 'PascalCase', 'snake_case', 'UPPERCASE', and 'original'| |original| diff --git a/docs/generators/kotlin.md b/docs/generators/kotlin.md index 060b0d2c6260..18f467dc52fa 100644 --- a/docs/generators/kotlin.md +++ b/docs/generators/kotlin.md @@ -19,7 +19,6 @@ These options may be applied as additional-properties (cli) or configOptions (pl | Option | Description | Values | Default | | ------ | ----------- | ------ | ------- | |additionalModelTypeAnnotations|Additional annotations for model type(class level annotations). List separated by semicolon(;) or new line (Linux or Windows)| |null| -|apiSuffix|suffix for api classes| |Api| |artifactId|Generated artifact id (name of jar).| |kotlin-client| |artifactVersion|Generated artifact's package version.| |1.0.0| |collectionType|Option. Collection type to use|
**array**
kotlin.Array
**list**
kotlin.collections.List
|list| diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AbstractKotlinCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AbstractKotlinCodegen.java index 7df7f8021c9a..e3aff93ae004 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AbstractKotlinCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AbstractKotlinCodegen.java @@ -60,7 +60,6 @@ public abstract class AbstractKotlinCodegen extends DefaultCodegen implements Co @Setter protected String artifactVersion = "1.0.0"; @Setter protected String groupId = "org.openapitools"; @Setter protected String packageName = "org.openapitools"; - @Setter protected String apiSuffix = "Api"; @Setter protected String sourceFolder = "src/main/kotlin"; @Setter protected String testFolder = "src/test/kotlin"; @@ -253,7 +252,6 @@ public AbstractKotlinCodegen() { cliOptions.clear(); addOption(CodegenConstants.SOURCE_FOLDER, CodegenConstants.SOURCE_FOLDER_DESC, sourceFolder); addOption(CodegenConstants.PACKAGE_NAME, "Generated artifact package name.", packageName); - addOption(CodegenConstants.API_SUFFIX, CodegenConstants.API_SUFFIX_DESC, apiSuffix); addOption(CodegenConstants.GROUP_ID, "Generated artifact package's organization (i.e. maven groupId).", groupId); addOption(CodegenConstants.ARTIFACT_ID, "Generated artifact id (name of jar).", artifactId); addOption(CodegenConstants.ARTIFACT_VERSION, "Generated artifact's package version.", artifactVersion); @@ -458,10 +456,6 @@ public void processOpts() { additionalProperties.put(CodegenConstants.PACKAGE_NAME, packageName); } - if (additionalProperties.containsKey(CodegenConstants.API_SUFFIX)) { - this.setApiSuffix((String) additionalProperties.get(CodegenConstants.API_SUFFIX)); - } - if (additionalProperties.containsKey(CodegenConstants.ARTIFACT_ID)) { this.setArtifactId((String) additionalProperties.get(CodegenConstants.ARTIFACT_ID)); } else { @@ -615,7 +609,7 @@ public String toApiName(String name) { if (name.length() == 0) { return "DefaultApi"; } - return (this.apiSuffix.isEmpty() ? camelize(name) : camelize(name) + this.apiSuffix); + return this.apiNamePrefix + camelize(name) + this.apiNameSuffix; } /** diff --git a/modules/openapi-generator/src/test/java/org/openapitools/codegen/kotlin/AbstractKotlinCodegenTest.java b/modules/openapi-generator/src/test/java/org/openapitools/codegen/kotlin/AbstractKotlinCodegenTest.java index 6ab3fd698784..1c312df20dc5 100644 --- a/modules/openapi-generator/src/test/java/org/openapitools/codegen/kotlin/AbstractKotlinCodegenTest.java +++ b/modules/openapi-generator/src/test/java/org/openapitools/codegen/kotlin/AbstractKotlinCodegenTest.java @@ -154,11 +154,26 @@ public void convertApiNameWithEmptySuffix() { @Test public void convertApiNameWithSuffix() { - codegen.setApiSuffix("Test"); + codegen.setApiNameSuffix("Test"); assertEquals(codegen.toApiName("Fake"), "FakeTest"); assertEquals(codegen.toApiName(""), "DefaultApi"); } + @Test + public void convertApiNameWithPrefix() { + codegen.setApiNamePrefix("Prefix"); + assertEquals(codegen.toApiName("Fake"), "PrefixFakeApi"); + assertEquals(codegen.toApiName(""), "DefaultApi"); + } + + @Test + public void convertApiNameWithPrefixAndSuffix() { + codegen.setApiNamePrefix("Prefix"); + codegen.setApiNameSuffix("Suffix"); + assertEquals(codegen.toApiName("Fake"), "PrefixFakeSuffix"); + assertEquals(codegen.toApiName(""), "DefaultApi"); + } + @Test public void apIFileFolder() { codegen.setOutputDir("/User/open/api/tools");