4 个版本 (破坏性更新)
使用旧的 Rust 2015
0.9.1 | 2015年7月6日 |
---|---|
0.8.0 | 2015年6月8日 |
0.2.0 | 2015年4月9日 |
0.1.0 | 2015年4月9日 |
#1384 in HTTP服务器
每月下载 36 次
28KB
357 行
API 文档可以在 这里 找到
Rust Firebase
Rust 编写的用于与 Firebase REST API 交互的库。
加载crate!
别忘了将库包含到你的项目中
extern crate firebase;
use firebase::Firebase;
创建Firebase引用
简单
你现在可以创建一个简单的对您的 Firebase 服务器的引用
let firebase = Firebase::new("https://<your-firebase>.firebaseio.com");
认证
或者您可以通过提供您的 认证 令牌来创建一个认证连接
let firebase = Firebase::authed("https://<your-firebase>.firebaseio.com", "<token>");
注意:您必须通过 HTTPS 发送请求,否则 Firebase 将拒绝它。未指定 HTTPS 也会导致错误:ParseError::UrlIsNotHTTPS
遍历数据库
以这种方式在您的服务器中引用嵌套对象
let show = firebase.at("/shows/futurama"); // points to /shows/futurama
let episode = show.at("s10/meanwhile"); // points to /shows/futurama/s10/meanwhile
斜线和.json 扩展名将被相应处理
// All of the following are equivalent:
let show = firebase.at("/shows/futurama.json");
let show = firebase.at("shows/futurama/");
let show = firebase.at("/shows/futurama/");
数据处理
读取数据
可以通过简单的调用 .get()
来读取数据
let response = show.get();
写入数据
let description = episode.at("description");
let response = description.set("the last episode");
推送数据
let episodes = firebase.at("/shows/futurama/episodes");
let response = episodes.push("The Lost Episode!");
更新数据
let description = episode.at("description");
let response = description.update("the penultimate episode");
删除数据
let episode = firebase.at("/shows/futurama/s10/meanwhile");
let response = episode.remove();
带有参数的请求
let episodes = firebase.at("/shows/futurama/episodes");
let top5 = episodes.order_by("\"imdb\"").limit_to_first(5).get();
支持的参数完整列表如下
order_by
limit_to_first
limit_to_last
start_at
end_at
equal_to
shallow
尚未实现...
处理JSON值
目前JSON以字符串字面量形式发送和接收,未来版本可能会实现更简单的方法
let json = "{ \"name\": \"David Smith\" }"
let people = firebase.at("/earth/us/indiana");
let response = episodes.push(json);
依赖
~11MB
~262K SLoC