diff --git a/docs/generators/kotlin-misk.md b/docs/generators/kotlin-misk.md
index 3832b9120655..1fe3d8cd2db2 100644
--- a/docs/generators/kotlin-misk.md
+++ b/docs/generators/kotlin-misk.md
@@ -26,7 +26,6 @@ These options may be applied as additional-properties (cli) or configOptions (pl
|actionRequestContentTypePrefix|Request ContentType Prefix for Action| |MediaTypes|
|addModelMoshiJsonAnnotation|Add a Moshi JSON adapter annotation to all model classes| |true|
|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', 'original', and 'bestEffortBacktick' (like 'original' but tries to wrap values in backticks before falling back to sanitizing, e.g. `name,asc` stays `name,asc` rather than becoming nameCommaAsc; useful for sort/order enums)| |original|
diff --git a/docs/generators/kotlin-server.md b/docs/generators/kotlin-server.md
index 09964a2753a2..08125378d996 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|
|delegatePattern|Whether to generate the server files using the delegate pattern. This option is currently supported only when using ktor library.| |false|
diff --git a/docs/generators/kotlin-spring.md b/docs/generators/kotlin-spring.md
index 1687486e809d..88d5c5da6278 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|
|artifactId|Generated artifact id (name of jar).| |openapi-spring|
|artifactVersion|Generated artifact's package version.| |1.0.0|
|autoXSpringPaginated|Automatically add x-spring-paginated to operations that have 'page', 'size', and 'sort' query parameters. When enabled, operations with all three parameters will have Pageable support automatically applied. Operations with x-spring-paginated explicitly set to false will not be auto-detected.| |false|
diff --git a/docs/generators/kotlin-vertx.md b/docs/generators/kotlin-vertx.md
index 6cdc16bed8c1..5fd907de7c91 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', 'original', and 'bestEffortBacktick' (like 'original' but tries to wrap values in backticks before falling back to sanitizing, e.g. `name,asc` stays `name,asc` rather than becoming nameCommaAsc; useful for sort/order enums)| |original|
diff --git a/docs/generators/kotlin-wiremock.md b/docs/generators/kotlin-wiremock.md
index b02b15fb3596..e1e799e27da2 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', 'original', and 'bestEffortBacktick' (like 'original' but tries to wrap values in backticks before falling back to sanitizing, e.g. `name,asc` stays `name,asc` rather than becoming nameCommaAsc; useful for sort/order enums)| |original|
diff --git a/docs/generators/kotlin.md b/docs/generators/kotlin.md
index 981ed1e016bb..cbdab90fc3f8 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/CodegenConstants.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/CodegenConstants.java
index 98df6563da13..5d038971f748 100644
--- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/CodegenConstants.java
+++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/CodegenConstants.java
@@ -41,9 +41,6 @@ public class CodegenConstants {
public static final String API_PACKAGE = "apiPackage";
public static final String API_PACKAGE_DESC = "package for generated api classes";
- public static final String API_SUFFIX = "apiSuffix";
- public static final String API_SUFFIX_DESC = "suffix for api classes";
-
public static final String AUTOSET_CONSTANTS = "autosetConstants";
public static final String MODEL_PACKAGE = "modelPackage";
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 d3b8e0f16bbc..de2b05c6be3d 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
@@ -73,7 +73,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";
@@ -309,7 +308,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);
@@ -576,10 +574,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 {
@@ -761,7 +755,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/main/java/org/openapitools/codegen/languages/KtormSchemaCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/KtormSchemaCodegen.java
index 81fdd4767189..96b9bb10e62c 100644
--- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/KtormSchemaCodegen.java
+++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/KtormSchemaCodegen.java
@@ -227,7 +227,6 @@ public KtormSchemaCodegen() {
// cliOptions default redefinition need to be updated
updateOption(CodegenConstants.ARTIFACT_ID, artifactId);
updateOption(CodegenConstants.PACKAGE_NAME, packageName);
- removeOption(CodegenConstants.API_SUFFIX);
removeOption(CodegenConstants.PARCELIZE_MODELS);
removeOption(CodegenConstants.SERIALIZABLE_MODEL);
removeOption(CodegenConstants.SERIALIZATION_LIBRARY);
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 91b7ed3af8fc..2f249b43bdf4 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
@@ -239,11 +239,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");
diff --git a/modules/openapi-generator/src/test/java/org/openapitools/codegen/kotlin/misk/KotlinMiskServerCodegenOptionsTest.java b/modules/openapi-generator/src/test/java/org/openapitools/codegen/kotlin/misk/KotlinMiskServerCodegenOptionsTest.java
index 724626266f24..4b8e27d6160e 100644
--- a/modules/openapi-generator/src/test/java/org/openapitools/codegen/kotlin/misk/KotlinMiskServerCodegenOptionsTest.java
+++ b/modules/openapi-generator/src/test/java/org/openapitools/codegen/kotlin/misk/KotlinMiskServerCodegenOptionsTest.java
@@ -34,7 +34,6 @@ protected void verifyOptions() {
verify(codegen).setEnumPropertyNaming(KotlinMiskServerCodegenOptionsProvider.ENUM_PROPERTY_NAMING_VALUE);
verify(codegen).setSerializableModel(Boolean.valueOf(KotlinMiskServerCodegenOptionsProvider.SERIALIZABLE_MODEL_VALUE));
verify(codegen).setParcelizeModels(Boolean.valueOf(KotlinMiskServerCodegenOptionsProvider.PARCELIZE_MODELS_VALUE));
- verify(codegen).setApiSuffix(KotlinMiskServerCodegenOptionsProvider.API_SUFFIX_VALUE);
verify(codegen).setAdditionalModelTypeAnnotations(List.of(KotlinMiskServerCodegenOptionsProvider.ADDITIONAL_MODEL_TYPE_ANNOTATIONS_VALUE));
verify(codegen).setUseBeanValidation(Boolean.valueOf(KotlinMiskServerCodegenOptionsProvider.USE_BEAN_VALIDATION));
verify(codegen).setModuleClassName(KotlinMiskServerCodegenOptionsProvider.MODULE_CLASS_NAME);
diff --git a/modules/openapi-generator/src/test/java/org/openapitools/codegen/options/KotlinMiskServerCodegenOptionsProvider.java b/modules/openapi-generator/src/test/java/org/openapitools/codegen/options/KotlinMiskServerCodegenOptionsProvider.java
index 04d3783b19f5..6bd69b7a5a51 100644
--- a/modules/openapi-generator/src/test/java/org/openapitools/codegen/options/KotlinMiskServerCodegenOptionsProvider.java
+++ b/modules/openapi-generator/src/test/java/org/openapitools/codegen/options/KotlinMiskServerCodegenOptionsProvider.java
@@ -55,7 +55,6 @@ public Map createOptions() {
.put(CodegenConstants.ENUM_PROPERTY_NAMING, ENUM_PROPERTY_NAMING_VALUE)
.put(CodegenConstants.SERIALIZABLE_MODEL, SERIALIZABLE_MODEL_VALUE)
.put(CodegenConstants.PARCELIZE_MODELS, PARCELIZE_MODELS_VALUE)
- .put(CodegenConstants.API_SUFFIX, API_SUFFIX_VALUE)
.put(AbstractKotlinCodegen.MODEL_MUTABLE, MODEL_MUTABLE_VALUE)
.put(AbstractKotlinCodegen.ADDITIONAL_MODEL_TYPE_ANNOTATIONS,
ADDITIONAL_MODEL_TYPE_ANNOTATIONS_VALUE)