@@ -10,14 +10,13 @@ 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 .Schema .RequiredMode
13- import io .swagger .v3 .oas .annotations .media .{ArraySchema , Schema => SchemaAnnotation }
14- import io .swagger .v3 .oas .models .media .{MapSchema , ObjectSchema , Schema }
13+ import io .swagger .v3 .oas .annotations .media .{ArraySchema => ArraySchemaAnnotation , Schema => SchemaAnnotation }
14+ import io .swagger .v3 .oas .models .media .{ArraySchema , MapSchema , ObjectSchema , Schema }
1515import org .slf4j .LoggerFactory
1616
1717import java .lang .annotation .Annotation
1818import java .lang .reflect .ParameterizedType
1919import java .util
20- import java .util .List
2120import scala .collection .JavaConverters ._
2221import scala .util .Try
2322import scala .util .control .NonFatal
@@ -109,7 +108,7 @@ object SwaggerScalaModelConverter {
109108 s.requiredMode()
110109 }
111110 }
112- case a : ArraySchema => {
111+ case a : ArraySchemaAnnotation => {
113112 if (a.arraySchema().requiredMode() == RequiredMode .AUTO ) {
114113 if (a.arraySchema().required()) {
115114 RequiredMode .REQUIRED
@@ -350,6 +349,11 @@ class SwaggerScalaModelConverter extends ModelResolver(SwaggerScalaModelConverte
350349 private [converter] def tryCorrectSchema (itemSchema : Schema [_], primitiveType : PrimitiveType ): Schema [_] = {
351350 itemSchema match {
352351 case ms : MapSchema => ms
352+ case as : ArraySchema => {
353+ val correctedSchema = tryCorrectSchema(as.getItems, primitiveType)
354+ as.setItems(correctedSchema)
355+ as
356+ }
353357 case _ => {
354358 Try {
355359 val primitiveProperty = primitiveType.createProperty()
0 commit comments