一架梯子,一头程序猿,仰望星空!
Beego 框架面试题 > 内容正文

Beego 如何处理路由和请求?可以简述一下请求的生命周期吗?


问题简答

Beego使用路由器(BeeRouter)处理路由和请求。当收到一个HTTP请求时,请求依次经过一系列的过滤器(Filter),然后进入Controller,Controller通过model查询数据库,处理业务逻辑,最后通过view返回视图给用户(如果是前后端分离,这里直接返回数据给前端,不进行视图渲染)。

问题详解:

流程图说明:

  1. http请求从左侧main入口函数开始进入框架
  2. UrL路由解析然后确定执行那个控制器(controller)
  3. 执行请求前的过滤器 (过滤器一般用来拦截请求,例如做api签名校验,session处理,安全验证等等)
  4. 执行控制器 (控制器根据需要调用model,session, 日志等模块)
  5. 执行请求后的过滤器
  6. 视图输出返回给用户

详情请参考:Beego快速入门教程