#rest #api #parameters #heavy

firebase

Rust 编写的用于与 Firebase 交互的库,目前仍在积极开发中

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

MIT 许可证

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