7 个版本
0.3.0 | 2021年10月20日 |
---|---|
0.1.5 | 2019年5月20日 |
#1 in #toql
每月22次下载
11KB
156 行
Toql Rocket
此 crate 增加了
- Toql URL 查询参数
- 包含页面计数信息的响应头
- ToqlError 的 Responder
将此添加到您的 Cargo.toml
[dependencies]
toql_rocket = "0.3"
然后在您的 rocket 处理器中享受一些简化
use toql_rocket::prelude::{ToqlQUery, Counted};
#[get("/?<toql_query..>")]
pub async fn query(
cache: &State<Cache>,
mut conn: Connection<TodoDb>,
toql_query: ToqlQuery, //<!-- Get URL parameters with default values
) -> Result<Counted<Json<Vec<Todo>, MyError>>>
{
let mut toql = MySqlAsync::from(&mut *conn, &*cache);
let (query, page) = toql_query.parse::<Todo>()?; //<!-- Parse into typesafe query
let r = toql.load_page(query, page).await?;
Ok(Counted(Json(r.0), r.1)) //<!-- Put page count information into headers
}
查看基于 Rocket、Toql 和 MySQL 的全功能 REST 服务器。
许可证
Toql Rocket 在 MIT 许可证和 Apache 许可证(版本 2.0)的条款下分发。
依赖关系
~22–54MB
~1M SLoC