Rust axumのextensionとstate

https://github.com/tokio-rs/axum/discussions/1558

もともとはextensionだけがaxumには存在していてapp全体で共有するような際にもこれが使用されていたっぽい。

型を厳密に縛れるstateのほうが基本的には好まれるが、user毎に異なるようなデータは依然としてextensionの方を使って保持する。

extension自体はaxumというよりも大本のhttp crateのほうに備わっている機能で、それをhandlerとかで受け取りやすくとかはaxum側でしてくれているのかな。

そもそもこのあたりはaxum extract周辺の機能を使って実装するほうがbetterなのかな?

Related Articles