使用Loco快速搭建自己的后台系统
除非是为了学习,不然数据的增删改查写起来是很无聊的,所以出现了相关的代码库,将这些操作给封装起来,Rust
也是有类似的框架的,而且不止于此,比如本文的Loco.rs
它提供类似Ruby on Rails
的相关功能,可以很快的搭建起来一个后台。
除非是为了学习,不然数据的增删改查写起来是很无聊的,所以出现了相关的代码库,将这些操作给封装起来,Rust
也是有类似的框架的,而且不止于此,比如本文的Loco.rs
它提供类似Ruby on Rails
的相关功能,可以很快的搭建起来一个后台。
本文主要讨论axum
的测试,axum
对于测试的支持还是比较完善的,我们可以测试状态码,HTTP头信息,响应体等内容,因为框架实现的原因,其实axum
很依赖tower
。
本文主要讨论axum
的中间件,这也是axum
与其他rust web框架极大的不同点,其他框架都定义了自己的接口,而axum
直接使用tower
的Servvice
和layer
的概念, 而tower
已经存在一大堆通用的中间件了,所以axum
也就自带了一大堆开箱即用的中间件。
本文主要讨论axum
的路由,通过路由我们可以灵活的来将不同的请求路径路由到不同的handler,也能自由的组合不同的路由对象来处理请求。
本文主要讨论axum
的状态共享,通过状态共享我们可以减少不必要的对象反复创建以及状态共享,共享状态的一个常用场景是共享数据库连接,通过复用数据库的连接对象可以极大的提升数据库操作效率。
上一篇文章讨论了axum如何获取参数,这一节看看axum是怎么构造响应内容的,如果你还不知道如何处理axum的请求参数,可以阅读我之前的文章: https://youerning.top/post/axum/quickstart-1。
rust的tokio是一个很棒的异步运行时,所以tokio出品的axum大概率也是个很棒的框架,处于对异步编程和tokio的喜欢,所以我打算以后都使用axum作为web开发的首选框架。