diff --git a/controllers/error_handler.go b/controllers/error_handler.go new file mode 100644 index 0000000..7700807 --- /dev/null +++ b/controllers/error_handler.go @@ -0,0 +1,21 @@ +package controllers + +import ( + "fmt" + + beego "github.com/beego/beego/v2/server/web" +) + +func HandleControllerErrors(c beego.Controller, code int, err *error, data *map[string]interface{}, messages ...string) { + for _, mess := range messages { + fmt.Println(mess) + } + if data != nil { + c.Data["json"] = data + } + if err != nil { + c.Data["json"] = map[string]string{"error": (*err).Error()} + } + c.Ctx.Output.SetStatus(code) + c.ServeJSON() +} \ No newline at end of file