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的中间件列表没有所需的,可以自己编写中间件。
🏷️

标签

➡️

继续阅读