Tower-web:Rust的快速,无样板,Web框架
0.3.2更新
响应类型支持泛型 (#144)
资源类型支持泛型(#143)
百分比解码字符串和PathBufs (#108)
0.3.1 更新
修复panic在内容类型未提供时 (#123).
所有数字类型实现
Extract
(#131).忽略其他derives的属性 (#130).
禁用日志记录时避免clone(#126).
添加非阻塞
serve
方法来运行服务器 (#76).
Tower-web介绍:
#[macro_use] extern crate tower_web; extern crate tokio; 使用 tower_web :: ServiceBuilder; 使用 tokio :: prelude :: * ; ///此类型将作为资源的Web服务的一部分。 #[derive(Clone,Debug)] struct HelloWorld ; ///这将是JSON响应 #[导出(响应)] struct HelloResponse { 消息:&' static str, } impl_web!{ impl HelloWorld { #[get(“/”)] #[content_type(“json”)] fn hello_world(&self) - > Result <HelloResponse,()> { Ok(HelloResponse { 消息:“你好世界”, }) } } } pub fn main(){ let addr = “127.0.0.1:8080”。解析()。期望(“无效地址”); 调用println!(“听取http:// {}”,addr); ServiceBuilder :: new() 。资源(HelloWorld) 。运行(& addr) 。unwrap(); }
Tower-web 基于 Tokio(Rust的并发框架与平台)和Hyper(Rust的HTTP的server框架)。
Tower-web 是 Tokio 生态系统的一部分。
[Tokio英文站点] (https://tokio.rs/)
[Tokio中文站点] (https://tokio-zh.github.io/)
[Tokio社区] (https://tokio-zh.github.io/community/)