PecilFramework是一个Rust的微框架,其灵感来自于Flask。
一个简单应用:
exter crate pecil;use pecil::{Pecil, Request, Respose, PecilResult};f hello(_: &mut Request) -> PecilResult { Ok(Respose::from("Hello World!"))}f mai() { let mut app = Pecil::ew("/web/hello"); app.get("/", "hello", hello); app.ru("127.0.0.1:5000");}路由:
f user(r: &mut Request) -> PecilResult { let user_id = r.view_args.get("user_id").uwrap(); Ok(format!("user {}", user_id).ito())}f mai() { // app here app.get("/user/<it:user_id>", "user", user);}JSON处理:
use std::collectios::BTreeMap;use pecil::jsoify;f app_ifo(_: &mut Request) -> PecilResult { let mut d = BTreeMap::ew(); d.isert("ame", "hello"); d.isert("versio", "0.1.0"); retur jsoify(&d);}f mai() { // app here app.get("/ifo", "app_ifo", app_ifo);}错误处理:
use pecil::HTTPError;f page_ot_foud(_: HTTPError) -> PecilResult { let mut respose = Respose::from("Customized 404 :)"); respose.status_code = 404; Ok(respose)}f mai() { // app here app.httperrorhadler(404, page_ot_foud);}
评论