当前位置: 首页 > article >正文

框架问题学习

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 导致程序崩溃。


http://www.kler.cn/a/444233.html

相关文章:

  • 使用 UniApp 在微信小程序中实现 SSE 流式响应
  • 信号处理相关的东东(学习解惑)
  • 15.初识接口1 C#
  • (五)FT2232HL高速调试器之--三步实现STM32的VSCODE在线仿真工程搭建
  • python脚本中使用git命令
  • 蓝桥杯刷题——day8
  • Chrome 浏览器原生功能截长屏
  • Linux shell脚本练习(七)
  • (2024年最新)Linux(Ubuntu) 中配置静态IP(包含解决每次重启后配置文件失效问题)
  • js常用方法之: 加减乘除运算
  • 联合索引的使用
  • YOLOv8目标检测——详细记录使用ONNX Runtime进行推理部署C++/Python实现
  • elasticsearch 7.6.2版本即使使用wildcard模糊查询,也毫无过滤效果分析
  • 实操给桌面机器人加上超拟人音色
  • 【21天学习AI底层概念】day8 适合新手免费训练 AI 模型的网站和平台
  • Redis篇-15--数据结构篇7--Sorted Set内存模型(有序集合,跳跃表skip list,压缩列表ziplist)
  • 使用VLC 搭建 RTSP 服务器
  • 监控易平台:提升IDC 数据中心运维效率与质量
  • RestTemplate实时接收Chunked编码传输的HTTP Response
  • GPT-Omni 与 Mini-Omni2:创新与性能的结合
  • 宝塔SSL证书申请失败,报错:申请SSL证书错误 module ‘OpenSSL.crypto‘ has no attribute ‘sign‘(已解决)
  • 探秘数据库索引:功能、意义与实例
  • C++ 的 format 和 vformat 函数
  • 源码安装PHP-7.2.19
  • HCIA-Access V2.5_4_3_VLAN间路由
  • 射频测试入门学习(三)——程控仪器是怎样和电脑连接通信的