一个Go新手关于beego框架的问题

HiWilliam · · 1548 次点击 · · 开始浏览    
这是一个创建于 的文章,其中的信息可能已经有所发展或是发生改变。

#### 概要 刚接触GO不久,非常感兴趣,因为有PHP web开发经历,就直接上手beego 框架来重写以前的个人测试项目,遇到些问题,想咨询一下。以下是我遇到的问题 这是一个只有**api**的项目,所以在beego文档看的错误处理好像不合适(可能是我还不会用。。。) #### 问题 一:在beego 框架**api**开发如何实现全局异常的抛出,例如我查询失败时直接返回错误信息。this.Abort方法尝试了不行 二:在尝试很多方式 我想到下面这样一个抛出异常的方式 ``` //user.go type UserController strucy { beego.Controller } func (this *UserController) Add(){ //部分代码省略 userId, err := models.Add(...) // 这里简写一下,添加了一个用户,返回了自增id和错误 if err != nil { ThrowError(this, err.Error()) } this.Data["json"] = Success(userId) //封装了返回json数据, code=1 this.ServerJson() } //error.go type JsonResult struct { Code int `json:"code"` Msg string `json:"msg"` Data interfact{} `json:"data"` } //部分函数省略 func ThrowError(this *UserController, err string) { this.data["json"] = Error(err) //封装json数据 code=0 this.ServerJson() } ``` 第二个问题中,ThrowError函数包含了UserController指针和err字符串两个参数,但是项目中我不只有一个Controller,这里我要做麽样的修改,可以无论传递xxController都可以呢。 *如有表达模糊不清,请多见谅,感谢回复*

有疑问加站长微信联系(非本文作者))

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

1548 次点击  
加入收藏 微博
5 回复  |  直到 2020-04-02 19:19:58
暂无回复
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传