1个不稳定版本

使用旧的Rust 2015

0.1.0 2017年9月11日

#21 in #rest-api

MIT 许可证

40KB
1K SLoC

Resty

Resty - 为Rust编写的简单JSON REST-API框架。

Build Status

文档

示例

extern crate futures;
extern crate resty;
#[macro_use]
extern crate serde_derive;

use futures::Future;

#[derive(Deserialize, Serialize)]
struct Call {
    pub test: u64,
}

fn main() {
    let mut server = resty::Router::new();
    server.get("/", |_| {
        Ok("Hello World!")
    });
    server.post("/call", |request| {
        // Deserialize payload
        request.json().map(|mut call: Call| {
            call.test += 1;
            // And return the same payload as a response
            call
        })
    });

    let listening = server.bind("localhost:3000").unwrap();
    listening.wait()
}

更多请参阅 示例文件夹

待办事项

通用

  • get_*() 用于动态参数。
  • 自动处理HEAD请求。
  • CORS支持
  • 中间件
  • 缓存控制
  • 为结构体自动推导 Into<Router>
  • 查询参数
  • 可选参数
  • 带/的参数

依赖项

~10MB
~179K SLoC