fast_web/
lib.rs

1//! 
2//! ## 目标
3//! 
4//! 实现简单易用,且能快速上手的 rust web 框架,参考了`rust`的`reset-router`库的设计以及`golang`的`gin`库
5//! 
6//! 
7//! ## 简单例子
8//! ```
9//! // use env_logger::{self, Env};
10//! use fast_web::router::{Ctx, Router};
11//! 
12//! // 首页处理器
13//! fn index(c: &mut Ctx) {
14//!     c.string("欢迎光临,<a href='articles'>点击打开文章列表</a>");
15//! }
16//! 
17//! fn main() {
18//!     // env_logger::Builder::from_env(Env::default().default_filter_or("debug")).init();
19//! 
20//!     let mut r = Router::default();
21//! 
22//!     let v = "1234567".to_string();
23//! 
24//!     // 所有页面都会被设置token头
25//!     r.before("any".into(), "", move |c| {
26//!         c.set_header("token", &v);
27//!     });
28//! 
29//!     // 首页
30//!     r.get("", index);
31//! 
32//!     // 文章分组
33//!     let mut article = r.group("articles");
34//!     {
35//!         article.get("", |c| {
36//!             c.string("文章列表<ul><li><a href='/articles/1'>第 1 篇文章</a></li><li><a href='/articles/2/'>第 2 篇文章</a></li></ul>");
37//!         });
38//! 
39//!         article.get("/:id:i32", |c| {
40//!             let id: i32 = c.param("id").unwrap();
41//!             c.string(format!("这是第 {} 篇文章", id).as_str());
42//!         });
43//!     }
44//! 
45//!     r.run("127.0.0.1:80");
46//! }
47//! ```
48
49pub use serde_derive;
50
51/// 路由功能
52pub mod router;