#firebase #rest #web #database #api

rusted-firebase

基于 Rust 的 Firebase 库,由 emreyalvac/firebase-rs 衍生而来

1 个不稳定版本

0.1.0 2023 年 3 月 15 日

#26 in #firebase

MIT 许可证

29KB
460 代码行

firebase-rs

Crates.io docs.rs License

基于 Rust 的 Firebase 库。

firebase

完整文档

文档

待办事项

如何使用

加载库

use firebase_rs::*;

无认证

let firebase = Firebase::new("https://myfirebase.firebaseio.com").unwrap();

有认证

let firebase = Firebase::auth("https://myfirebase.firebaseio.com", "AUTH_KEY").unwrap();

用于嵌套对象的用法

let firebase = Firebase::new("https://myfirebase.firebaseio.com").unwrap().at("users").at("USER_ID").at(...);

读取数据

以字符串形式读取数据

let firebase = Firebase::new("https://myfirebase.firebaseio.com").unwrap().at("users");
let users = firebase.get_as_string().await;

使用泛型类型读取数据(所有)

#[derive(Serialize, Deserialize, Debug)]
struct User {
  name: String
}

let firebase = Firebase::new("https://myfirebase.firebaseio.com").unwrap().at("users");
let user = firebase.get::<HashMap<String, User>>().await;

使用泛型类型读取数据(单个记录)

#[derive(Serialize, Deserialize, Debug)]
struct User {
  name: String
}

let firebase = Firebase::new("https://myfirebase.firebaseio.com").unwrap().at("users").at("USER_ID");
let user = firebase.get::<User>().await;

设置数据

#[derive(Serialize, Deserialize, Debug)]
struct User {
  name: String
}

let user = User { name: String::default() };
let firebase = Firebase::new("https://myfirebase.firebaseio.com").unwrap().at("users");
firebase.set(&user).await;

更新数据

#[derive(Serialize, Deserialize, Debug)]
struct User {
  name: String
}

let user = User { name: String::default() };
let firebase = Firebase::new("https://myfirebase.firebaseio.com").unwrap().at("users").at("USER_ID");
firebase.update(&user).await;

带参数

let firebase = Firebase::new("https://myfirebase.firebaseio.com").unwrap().with_params().start_at(1).order_by("name").equal_to(5).finish();
let result = firebase.get().await;

依赖关系

~6–22MB
~298K SLoC