Tower-web 0.3.1/2 发布,类型完善和修复更新

来源: 投稿
作者: krircc
2018-10-18 16:57:00

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介绍:

  • 快速:完全异步,基于TokioHyper构建。

  • 符合人体工程学: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 生态系统的一部分。

[Tokio英文站点] (https://tokio.rs/)

[Tokio中文站点] (https://tokio-zh.github.io/)

[Tokio社区] (https://tokio-zh.github.io/community/)

展开阅读全文
点击引领话题📣 发布并加入讨论🔥
0 评论
2 收藏
分享
返回顶部
顶部