1
0
mirror of https://github.com/beego/bee.git synced 2024-11-21 23:50:54 +00:00

fix gen doc slice type bug

This commit is contained in:
guoshaowei 2017-05-05 10:59:45 +08:00
parent e1f3353511
commit 3f63cd706f

View File

@ -762,7 +762,7 @@ func parseObject(d *ast.Object, k string, m *swagger.Schema, realTypes *[]string
mp := swagger.Propertie{} mp := swagger.Propertie{}
if isSlice { if isSlice {
mp.Type = "array" mp.Type = "array"
if isBasicType(realType) { if isBasicType(strings.Replace(realType, "[]", "", -1)) {
typeFormat := strings.Split(sType, ":") typeFormat := strings.Split(sType, ":")
mp.Items = &swagger.Propertie{ mp.Items = &swagger.Propertie{
Type: typeFormat[0], 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) { func typeAnalyser(f *ast.Field) (isSlice bool, realType, swaggerType string) {
if arr, ok := f.Type.(*ast.ArrayType); ok { 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)) { if isBasicType(fmt.Sprint(arr.Elt)) {
return false, fmt.Sprintf("[]%v", arr.Elt), basicTypes[fmt.Sprint(arr.Elt)] return false, fmt.Sprintf("[]%v", arr.Elt), basicTypes[fmt.Sprint(arr.Elt)]
} }