自定义异常结构体
package model
type BusinessException struct {
Status int `json:"status"`
Code string `json:"code"`
Message string `json:"message"`
Trace string `json:"trace"`
}
func (e *BusinessException) Error() string {
return e.Trace
}
其中mvcApp.HandleError用来处理异常,app.OnAnyErrorCode用来返回自定义的结果
package main
import (
"fmt"
"io"
"os"
"strings"
"time"
_ "github.com/go-sql-driver/mysql"
"github.com/hashicorp/consul/api"
"github.com/kataras/iris/v12"
"github.com/kataras/iris/v12/middleware/logger"
"github.com/kataras/iris/v12/mvc"
"xorm.io/xorm"
"ydyun360.cn/member-service/configuration"
"ydyun360.cn/member-service/controller"
"ydyun360.cn/member-service/model"
"ydyun360.cn/member-service/service"
)
/*
读取本地配置
读取Consul配置
合并本地配置和Consul配置
初始化数据库
注册服务
初始化组件和服务
注册控制器
初始化iris
*/
const (
LOG_DELETE_FILE_ON_EXIT = false
)
var (
config *configuration.SpringConfiguration
consulClient *api.Client
registration *