单个中间件的逻辑
整体执行流程:
- 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处理响应,传递给客户端