RUST web框架axum快速入门教程5之中间件
💡
原文中文,约3400字,阅读约需8分钟。
📝
内容提要
本文讨论了axum的中间件,与其他rust web框架的不同之处在于直接使用tower的Service和layer的概念,自带了一大堆开箱即用的中间件。介绍了五个常用的中间件:TraceLayer、CompressionLayer、TimeoutLayer、SetRequestIdLayer和CorsLayer。tower_http还有更多中间件可用。
🎯
关键要点
- axum的中间件与其他Rust web框架的不同之处在于直接使用tower的Service和layer概念。
- axum自带了许多开箱即用的中间件。
- 介绍了五个常用的中间件:TraceLayer、CompressionLayer、TimeoutLayer、SetRequestIdLayer和CorsLayer。
- TraceLayer用于追踪事件,类似于日志。
- CompressionLayer在内容长度大于32时进行压缩。
- TimeoutLayer在服务端响应超时时返回408状态码。
- SetRequestIdLayer为服务端设置请求ID。
- CorsLayer用于设置CORS请求头。
- tower_http还有更多中间件可供使用。
- 中间件的嵌套顺序类似于洋葱,一层包一层。
- 如果tower的中间件列表没有所需的,可以自己编写中间件。
➡️