diff --git a/generate/swaggergen/g_docs.go b/generate/swaggergen/g_docs.go index 36dcec4..268a249 100644 --- a/generate/swaggergen/g_docs.go +++ b/generate/swaggergen/g_docs.go @@ -762,7 +762,7 @@ func parseObject(d *ast.Object, k string, m *swagger.Schema, realTypes *[]string mp := swagger.Propertie{} if isSlice { mp.Type = "array" - if isBasicType(realType) { + if isBasicType(strings.Replace(realType, "[]", "", -1)) { typeFormat := strings.Split(sType, ":") mp.Items = &swagger.Propertie{ Type: typeFormat[0], @@ -864,6 +864,11 @@ func parseObject(d *ast.Object, k string, m *swagger.Schema, realTypes *[]string func typeAnalyser(f *ast.Field) (isSlice bool, realType, swaggerType string) { if arr, ok := f.Type.(*ast.ArrayType); ok { + //arr.Len nil for slice types + if arr.Len == nil { + return true, fmt.Sprintf("[]%v", arr.Elt), basicTypes[fmt.Sprint(arr.Elt)] + } + if isBasicType(fmt.Sprint(arr.Elt)) { return false, fmt.Sprintf("[]%v", arr.Elt), basicTypes[fmt.Sprint(arr.Elt)] }