Skip to content

Commit bf2a251

Browse files
scala-sttp4: fix for missing EnumNameSerializer for inner enum definitions (#18145) (#18160)
1 parent 7aeb952 commit bf2a251

File tree

2 files changed

+5
-2
lines changed

2 files changed

+5
-2
lines changed

modules/openapi-generator/src/main/resources/scala-sttp4/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-sttp4/src/main/scala/org/openapitools/client/core/JsonSupport.scala

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,9 @@ import sttp.client4.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(OrderEnums.Status) :+
22+
new EnumNameSerializer(PetEnums.Status)
2123

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

0 commit comments

Comments
 (0)