本文主要是介绍beego orm 操作返回友好提示信息,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
beego orm 操作返回友好提示信息
- bee命令自动生成的添加数据函数
- 调用添加函数后返回的`err.Error()`数据
- 下面是创建的函数,主要是通过返回的错误代码进行判断;
- 调用
- 返回`err.Error()`
在使用beego orm进行insert的时候默认是返回error,但是这个error就是数据库直接返回的错误(就像我们直接在命令行操作数据库返回的信息是一样的)类似下面图2
bee命令自动生成的添加数据函数
// AddFaBroker insert a new FaBroker into database and returns
// last inserted Id on success.
func AddFaBroker(m *FaBroker) (id int64, err error) {o := orm.NewOrm()id, err = o.Insert(m)return
}
调用添加函数后返回的err.Error()
数据
"Error 1062: Duplicate entry '153' for key 'phone'"
这样的信息不能直接返回到客户端,需要我们自己处理一下,但是beego orm 的error不像gorm一样,错误有类似ErrRecordNotFound
这样的方法可以进行判断,只能自己进行判断;
下面是创建的函数,主要是通过返回的错误代码进行判断;
//数据库错误友好提示
func FriendlySqlErr(e error, field string) (err error) {if strings.Index(e.Error(), "Error 1062") > -1 {err = errors.New(field + "重复,请更换" + field + "后重试")}//。。。其他错误return
}
调用
func (this *BrokerService) Register(tmp models.FaBroker) (broker *models.FaBroker, err error) {if _, err := models.AddFaBroker(&tmp); err != nil {return nil, utils.FriendlySqlErr(err,"手机号")//这里调用返回友好信息提示}broker = &tmpreturn broker, err
}
返回err.Error()
"手机号重复,请更换手机号后重试"
初学golang,文中如有不足之处请提出,我会尽快修改
这篇关于beego orm 操作返回友好提示信息的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!