Skip to content

Commit c1f37c2

Browse files
yzaouiGoopher Maijenburg
authored andcommitted
Fix missing @Serializable on enums for kotlin/jvm-retrofit2 (OpenAPITools#21907)
* Add @serializable annotation to enum for kotlinx-serialization * Adjust template, generate samples * Fix template
1 parent cd58c8e commit c1f37c2

File tree

2 files changed

+3
-1
lines changed
  • modules/openapi-generator/src/main/resources/kotlin-client/libraries/jvm-retrofit2
  • samples/client/petstore/kotlin-retrofit2-kotlinx_serialization/src/main/kotlin/org/openapitools/client/apis

2 files changed

+3
-1
lines changed

modules/openapi-generator/src/main/resources/kotlin-client/libraries/jvm-retrofit2/api.mustache

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -77,7 +77,8 @@ import okhttp3.MultipartBody
7777
/**
7878
* enum for parameter {{paramName}}
7979
*/
80-
{{#nonPublicApi}}internal {{/nonPublicApi}}{{^nonPublicApi}}{{#explicitApi}}public {{/explicitApi}}{{/nonPublicApi}}enum class {{enumName}}{{operationIdCamelCase}}({{^nonPublicApi}}{{#explicitApi}}public {{/explicitApi}}{{/nonPublicApi}}val value: {{^isContainer}}{{dataType}}{{/isContainer}}{{#isContainer}}kotlin.String{{/isContainer}}) {
80+
{{#kotlinx_serialization}}@Serializable
81+
{{/kotlinx_serialization}}{{#nonPublicApi}}internal {{/nonPublicApi}}{{^nonPublicApi}}{{#explicitApi}}public {{/explicitApi}}{{/nonPublicApi}}enum class {{enumName}}{{operationIdCamelCase}}({{^nonPublicApi}}{{#explicitApi}}public {{/explicitApi}}{{/nonPublicApi}}val value: {{^isContainer}}{{dataType}}{{/isContainer}}{{#isContainer}}kotlin.String{{/isContainer}}) {
8182
{{^enumUnknownDefaultCase}}
8283
{{#allowableValues}}
8384
{{#enumVars}}

samples/client/petstore/kotlin-retrofit2-kotlinx_serialization/src/main/kotlin/org/openapitools/client/apis/PetApi.kt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,7 @@ interface PetApi {
4444
/**
4545
* enum for parameter status
4646
*/
47+
@Serializable
4748
enum class StatusFindPetsByStatus(val value: kotlin.String) {
4849
@SerialName(value = "available") AVAILABLE("available"),
4950
@SerialName(value = "pending") PENDING("pending"),

0 commit comments

Comments
 (0)