Skip to content

Commit 6ec4ed0

Browse files
authored
scala-sttp: fix for missing EnumNameSerializer for inner enum definitions (#17697)
1 parent 7267e80 commit 6ec4ed0

File tree

2 files changed

+7
-2
lines changed

2 files changed

+7
-2
lines changed

modules/openapi-generator/src/main/resources/scala-sttp/jsonSupport.mustache

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,8 @@ import scala.reflect.ClassTag
1111

1212
object JsonSupport extends SttpJson4sApi {
1313
def enumSerializers: Seq[Serializer[_]] = Seq[Serializer[_]](){{#models}}{{#model}}{{#isEnum}} :+
14-
new EnumNameSerializer({{classname}}){{/isEnum}}{{/model}}{{/models}}
14+
new EnumNameSerializer({{classname}}){{/isEnum}}{{#hasEnums}}{{#vars}}{{#isEnum}} :+
15+
new EnumNameSerializer({{classname}}Enums.{{datatypeWithEnum}}){{/isEnum}}{{/vars}}{{/hasEnums}}{{/model}}{{/models}}
1516

1617
private class EnumNameSerializer[E <: Enumeration: ClassTag](enumeration: E) extends Serializer[E#Value] {
1718
import JsonDSL._

samples/client/petstore/scala-sttp/src/main/scala/org/openapitools/client/core/JsonSupport.scala

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,11 @@ import sttp.client3.json4s.SttpJson4sApi
1717
import scala.reflect.ClassTag
1818

1919
object JsonSupport extends SttpJson4sApi {
20-
def enumSerializers: Seq[Serializer[_]] = Seq[Serializer[_]]()
20+
def enumSerializers: Seq[Serializer[_]] = Seq[Serializer[_]]() :+
21+
new EnumNameSerializer(EnumTestEnums.Search) :+
22+
new EnumNameSerializer(EnumTestEnums.SortBy) :+
23+
new EnumNameSerializer(OrderEnums.Status) :+
24+
new EnumNameSerializer(PetEnums.Status)
2125

2226
private class EnumNameSerializer[E <: Enumeration: ClassTag](enumeration: E) extends Serializer[E#Value] {
2327
import JsonDSL._

0 commit comments

Comments
 (0)