Gin 的路由其实就是 Java 中 @RequestMapping 注解的内容,只是 Go 需要在一个代码模块中统一对所有路由进行配置。 一、路由组配置 一般情况下,通过路由需要完成两个事情,一是通过 HTML 模板完成前端页面的渲染,二是实现 Api 接口调用。 这两部分功能是完全不一样的,在 Gin 中可以用两个不同的路由组来隔离逻辑。 router := gin.Default()// 指定模板文件所在的路径router.LoadHTMLGlob("templates/*.html")// 渲染html的路由组htmlGroup := router.Group("")// api 处理的路由组apiGroup := router.Group("api") 再更近一步,可以将 API 路由组再细分为公共 API 和私有 API。 // 公共API路由组publicGroup := apiGroup.Group("public")// 私有API路由组,绑定鉴权中间件privateGroup := apiGroup.Group("")privateGroup.Use(middleware.AdminAuth) 二、API 接口实现 创建一个简单的 GET 接口,并返回一条字符串数据内容。 apiGroup.GET("/health", func(c *gin.Context) {c.String(200, "ok health")}) 返回一个 JSON 数据: apiGroup.GET("/health", func(c *gin.Context) {c.AbortWithStatusJSON(200, map[string]string{"msg": "ok health"})}) 三、HTML 模板渲染 渲染模板用的是 Go 内置的 html.template 工...