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介绍:
-
符合人体工程学:Tower-web将HTTP与应用程序逻辑分离,删除所有样板。
-
适用于Rust stable:您今天可以使用它。
#[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 生态系统的一部分。
本文来自云栖社区合作伙伴“开源中国”
本文作者: krircc