diff --git a/modules/swagger-core/src/main/scala/com/wordnik/swagger/converter/ModelPropertyParser.scala b/modules/swagger-core/src/main/scala/com/wordnik/swagger/converter/ModelPropertyParser.scala index 30b7bab463..722e92b26a 100644 --- a/modules/swagger-core/src/main/scala/com/wordnik/swagger/converter/ModelPropertyParser.scala +++ b/modules/swagger-core/src/main/scala/com/wordnik/swagger/converter/ModelPropertyParser.scala @@ -349,6 +349,10 @@ class ModelPropertyParser(cls: Class[_], t: Map[String, String] = Map.empty) (im val parameterizedType = genericReturnType.asInstanceOf[java.lang.reflect.ParameterizedType] val valueType = parameterizedType.getActualTypeArguments.head "Set[" + getDataType(valueType, valueType, isSimple) + "]" + } else if (TypeUtil.isParameterizedCollection(genericReturnType)) { + val parameterizedType = genericReturnType.asInstanceOf[java.lang.reflect.ParameterizedType] + val valueType = parameterizedType.getActualTypeArguments.head + "Array[" + getDataType(valueType, valueType, isSimple) + "]" } else if (TypeUtil.isParameterizedMap(genericReturnType)) { val parameterizedType = genericReturnType.asInstanceOf[java.lang.reflect.ParameterizedType] val typeArgs = parameterizedType.getActualTypeArguments diff --git a/modules/swagger-core/src/main/scala/com/wordnik/swagger/core/util/TypeUtil.scala b/modules/swagger-core/src/main/scala/com/wordnik/swagger/core/util/TypeUtil.scala index c68a5d05aa..56793d9e42 100644 --- a/modules/swagger-core/src/main/scala/com/wordnik/swagger/core/util/TypeUtil.scala +++ b/modules/swagger-core/src/main/scala/com/wordnik/swagger/core/util/TypeUtil.scala @@ -62,7 +62,15 @@ object TypeUtil { def isParameterizedList(gt: Type): Boolean = { if (classOf[ParameterizedType].isAssignableFrom(gt.getClass)) { val tp = gt.asInstanceOf[ParameterizedType].getRawType - (tp == classOf[java.util.List[_]] || tp == classOf[scala.List[_]] || tp == classOf[Seq[_]]) + (tp == classOf[java.util.List[_]] || tp == classOf[scala.List[_]] || tp == classOf[Seq[_]]) + } + else false + } + + def isParameterizedCollection(gt: Type): Boolean = { + if (classOf[ParameterizedType].isAssignableFrom(gt.getClass)) { + val tp = gt.asInstanceOf[ParameterizedType].getRawType + (tp == classOf[java.util.Collection[_]]) } else false }