1、在主入口新增
package main
import (
"flag"
"fmt"
"go/application/internal/config"
"go/application/internal/handler"
"go/application/internal/middleware"
"go/application/internal/svc"
manage "go/pkg/manage"
"github.com/zeromicro/go-zero/core/conf"
"github.com/zeromicro/go-zero/rest"
"github.com/zeromicro/go-zero/rest/httpx"
)
var configFile = flag.String("f", "etc/service-api.yaml", "配置文件")
func main() {
flag.Parse()
var c config.Config
// 读取配置文件中的值,将其保存在c变量上 所以这一块传递的是地址
conf.MustLoad(*configFile, &c)
// 将全局配置保存在全局变量上
config.GlobalConfig = c
// 注册服务,传递服务配置
server := rest.MustNewServer(c.RestConf)
// 全局中间件 这儿主要用来捕获一下全局的异常,抛出给前端
server.Use(middleware.WithMiddleware)
// 停止服务
defer server.Stop()
// 为上下文赋值 将常用的方法绑定在上下文当中(redis、orm等等)
ctx := svc.NewServiceContext(c)
// 注册路由
handler.RegisterHandlers(server, ctx)
// 统一错误处理
httpx.SetErrorHandler(manage.ErrHandler)
fmt.Printf("Starting server at %s:%d...\n", c.Ho