1个不稳定版本
使用旧的Rust 2015
0.1.0 | 2017年9月11日 |
---|
#21 in #rest-api
40KB
1K SLoC
Resty
Resty - 为Rust编写的简单JSON REST-API框架。
示例
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