udacity 网站开发,小型创意电子产品设计,建设网站作用,淘宝客网站做百度推广1、gin
1.1、gin框架路由是怎么处理的
在 Gin 中#xff0c;路由是通过 gin.Default() 或 gin.New() 创建的 *gin.Engine 对象来管理的。gin.Default() 是 gin.New() 的一个封装#xff0c;它在创建路由对象时会自动添加一个默认的中间件#xff08;如日志记录、恢复中间件…1、gin
1.1、gin框架路由是怎么处理的
在 Gin 中路由是通过 gin.Default() 或 gin.New() 创建的 *gin.Engine 对象来管理的。gin.Default() 是 gin.New() 的一个封装它在创建路由对象时会自动添加一个默认的中间件如日志记录、恢复中间件等。
流程
1. 接收请求当一个 HTTP 请求到来时Gin 会先解析请求的 URL 和 HTTP 方法。
2. 遍历路由树Gin 会遍历路由树并根据请求的 URL 和 HTTP 方法在树中寻找匹配的路由规则。
3. 执行匹配的处理函数一旦找到匹配的路由Gin 会执行该路由对应的处理函数Handler。
4. 执行中间件如果配置了中间件Gin 会按顺序执行中间件。中间件可以在路由处理函数之前、之后进行操作。 1.2、gin框架panic后怎么为什么没有中止程序怎么实现的
Gin 的恢复中间件 (gin.Recovery()) 用于捕获和恢复 panic防止程序崩溃。
r : gin.New()
r.Use(gin.Recovery()) // 手动启用恢复中间件
它的底层实现利用了 Go 的 defer、recover 和 panic 机制来捕获应用中的异常防止 panic 导致程序崩溃。