- 授权协议: BSD
- 开发语言: Rust
- 操作系统: 跨平台
- 软件首页: https://github.com/fengsp/pencil
- 软件文档: http://fengsp.github.io/pencil/
软件介绍
Pencil Framework 是一个 Rust 的微框架,其灵感来自于 Flask。
一个简单应用:
extern crate pencil;
use pencil::{Pencil, Request, Response, PencilResult};
fn hello(_: &mut Request) -> PencilResult {
Ok(Response::from("Hello World!"))
}
fn main() {
let mut app = Pencil::new("/web/hello");
app.get("/", "hello", hello);
app.run("127.0.0.1:5000");
}路由:
fn user(r: &mut Request) -> PencilResult {
let user_id = r.view_args.get("user_id").unwrap();
Ok(format!("user {}", user_id).into())
}
fn main() {
// app here
app.get("/user/<int:user_id>", "user", user);
}JSON 处理:
use std::collections::BTreeMap;
use pencil::jsonify;
fn app_info(_: &mut Request) -> PencilResult {
let mut d = BTreeMap::new();
d.insert("name", "hello");
d.insert("version", "0.1.0");
return jsonify(&d);
}
fn main() {
// app here
app.get("/info", "app_info", app_info);
}错误处理:
use pencil::HTTPError;
fn page_not_found(_: HTTPError) -> PencilResult {
let mut response = Response::from("Customized 404 :)");
response.status_code = 404;
Ok(response)
}
fn main() {
// app here
app.httperrorhandler(404, page_not_found);
}
Rationality for Mortals
Gerd Gigerenzer / Oxford University Press, USA / 2008-05-02 / USD 65.00
Gerd Gigerenzer's influential work examines the rationality of individuals not from the perspective of logic or probability, but from the point of view of adaptation to the real world of human behavio......一起来看看 《Rationality for Mortals》 这本书的介绍吧!
