zdppy_api 中间件请求原理详解

单个中间件的逻辑

整体执行流程:

  • 1、客户端发起请求
  • 2、中间件拦截请求,在请求开始之前执行业务逻辑
  • 3、API服务接收到中间件处理之后的请求,和数据库交互,请求数据
  • 4、数据库返回数据
  • 5、API处理数据库的数据,然后给客户端
  • 6、中间件拦截API服务的响应数据,在响应抵达客户端之前添加业务逻辑
  • 7、将API服务的数据经过中间件处理之后,响应给客户端

多个中间件的执行逻辑

整体执行流程:

  • 1、客户端发起请求
  • 2、中间件拦截请求,在请求开始之前执行业务逻辑,将业务传递给下一个中间件
  • 3、下一个中间件继续,直到所有的中间件都对请求进行了处理
  • 4、API服务接收到中间件处理之后的请求,和数据库交互,请求数据
  • 5、数据库返回数据
  • 6、API处理数据库的数据,然后给客户端
  • 7、中间件拦截API服务的响应数据,将业务传递给下一个中间件
  • 8、下一个中间件继续对响应做处理,直到所有的中间件都处理完毕,再响应给客户端
  • 9、将API服务的数据经过中间件处理之后,响应给客户端

多个中间件执行图解

执行流程:

  • 中间件1处理请求,传递给中间件2
  • 中间件2处理请求,传递给中间件3
  • 中间件3处理请求,传递给API服务
  • 中间件3处理响应,传递给中间件2
  • 中间件2处理响应,传递给中间件1
  • 中间件1处理响应,传递给客户端
相关推荐
yoguo-21016 小时前
TongWeb7控制台部署应用时,应用包大小限制
中间件·tongweb
__zRainy__1 天前
Node系列 · Express:cors 中间件
中间件·express
StevenSurpass1 天前
智能工厂场景:FastPrintAgent 分布式打印中间件落地应用方案
分布式·mqtt·http·中间件·打印·fastreport
程序员小八7773 天前
Go Web 工程化:日志、配置与错误处理中间件,让服务「能上线」
前端·中间件·golang
tqs_123453 天前
SaaS 多租户 Agent 平台实战:自研 Agent 中间件 SDK,Nacos 配置驱动实现开箱即用
中间件
未若君雅裁3 天前
自定义中间件:Node-style 与 Wrap-style 钩子全解析
python·中间件·langchain
__zRainy__5 天前
Node系列 · Express:常用的中间件
中间件·node.js·express
2601_962181965 天前
【ROS2 中间件RMW】基于FastDDS共享内存实现ROS2跨进程零拷贝通讯
中间件
未若君雅裁5 天前
上下文压缩双刃剑-Summarization与ContextEditing中间件实战
python·中间件·langchain
烂蜻蜓5 天前
Flask入门教程(十六):中间件与扩展——增强应用功能的两种机制
python·中间件·flask