@@ -10,7 +10,7 @@ import io.swagger.v3.core.jackson.ModelResolver
1010import io .swagger .v3 .core .util .{Json , PrimitiveType }
1111import io .swagger .v3 .oas .annotations .Parameter
1212import io .swagger .v3 .oas .annotations .media .{ArraySchema , Schema => SchemaAnnotation }
13- import io .swagger .v3 .oas .models .media .{ObjectSchema , Schema }
13+ import io .swagger .v3 .oas .models .media .{MapSchema , ObjectSchema , Schema }
1414import org .slf4j .LoggerFactory
1515
1616import java .lang .annotation .Annotation
@@ -294,17 +294,22 @@ class SwaggerScalaModelConverter extends ModelResolver(SwaggerScalaModelConverte
294294 }
295295
296296 private [converter] def tryCorrectSchema (itemSchema : Schema [_], primitiveType : PrimitiveType ): Schema [_] = {
297- Try {
298- val primitiveProperty = primitiveType.createProperty()
299- val propAsString = objectMapper.writeValueAsString(itemSchema)
300- val correctedSchema = objectMapper.readValue(propAsString, primitiveProperty.getClass)
301- correctedSchema.setType(primitiveProperty.getType)
302- Option (itemSchema.getFormat) match {
303- case Some (_) =>
304- case _ => correctedSchema.setFormat(primitiveProperty.getFormat)
297+ itemSchema match {
298+ case ms : MapSchema => ms
299+ case _ => {
300+ Try {
301+ val primitiveProperty = primitiveType.createProperty()
302+ val propAsString = objectMapper.writeValueAsString(itemSchema)
303+ val correctedSchema = objectMapper.readValue(propAsString, primitiveProperty.getClass)
304+ correctedSchema.setType(primitiveProperty.getType)
305+ Option (itemSchema.getFormat) match {
306+ case Some (_) =>
307+ case _ => correctedSchema.setFormat(primitiveProperty.getFormat)
308+ }
309+ correctedSchema
310+ }.toOption.getOrElse(itemSchema)
305311 }
306- correctedSchema
307- }.toOption.getOrElse(itemSchema)
312+ }
308313 }
309314
310315
0 commit comments