Rust 的快速、无样板 Web 框架 Tower-web

Apache
Rust
跨平台
2018-10-18
krircc

Tower-web :Rust 的快速、无样板 Web 框架

Tower Web 介绍:

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

  • 符合人体工程学:Tower-web将HTTP与应用程序逻辑分离,删除所有样板。

  • 适用于Rust stable:稳定。

Tower Web是一个快速的Web框架,旨在删除样板。

目标是将所有HTTP概念与应用程序逻辑分离。使用“普通Rust类型”实现应用程序,Tower Web使用宏来生成必要的粘合剂,以便将应用程序作为HTTP服务提供。 

#[macro_use]
extern crate tower_web;
extern crate tokio;

use tower_web::ServiceBuilder;
use tokio::prelude::*;

/// This type will be part of the web service as a resource.
#[derive(Clone, Debug)]
struct HelloWorld;

/// This will be the JSON response
#[derive(Response)]
struct HelloResponse {
    message: &'static str,
}

impl_web! {
    impl HelloWorld {
        #[get("/")]
        #[content_type("json")]
        fn hello_world(&self) -> Result {
            Ok(HelloResponse {
                message: "hello world",
            })
        }
    }
}

pub fn main() {
    let addr = "127.0.0.1:8080".parse().expect("Invalid address");
    println!("Listening on http://{}", addr);

    ServiceBuilder::new()
        .resource(HelloWorld)
        .run(&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)

暂无评论

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

Tower-web:Rust的快速,无样板,Web框架 0.3.2更新 响应类型支持泛型 (#144) 资源类型支持泛型(#143) 百分比解码字符串和PathBufs (#108) 0.3.1 更新 修复panic在内容类型未提供时 (#123). ...

10/18 16:57

没有更多内容

加载失败,请刷新页面

没有更多内容

暂无问答

5分钟APIG实战: 使用Rust语言快速构建API能力开放

序言:Rust语言简介 参与过C/C++大型项目的同学可能都经历过因为Null Pointer、Memory Leak等问题“被” 加班了不知道多少个晚上。别沮丧,你不是一个人,Mozilla Firefox的开发者们同样经历...

09/07 21:08
29
0
前端开发工程师如何在2013年里提升自己——阅读笔记(三)

二. 工作方式(Workflow) 第一篇文章:Tooling for the Modern Web App Developer, Addy Osmani web开发中需要使用的工具包括: 浏览器+开发者工具:浏览器内嵌的开发者工具。以chrome的开发...

2013/01/04 16:46
207
0
轻量的分布式配置管理平台

![](https://raw.githubusercontent.com/ihaolin/diablo/master/logo.jpg) 轻量的分布式配置管理平台 --- + [在线Demo](http://diablo.hao0.me):用户名/密码(admin/admin123)。 ## 一些特性...

2016/10/17 11:59
380
2
汉诺塔算法

有A、B和C 3跟柱子,在A上从下往上按照从小到大的顺序放着64个圆盘,以B为中介,把盘子全部移动到C上。移动过程中,要求任意盘子的下面要么没有盘子,要么只能有比它大的盘子。 * 思想:采用...

2016/11/17 09:32
7
0
Game Design Patterns 游戏设计模式

程序的书写最重要是模块化,将大问题拆分成子问题 接着在google 搜索子问题的解决方案 github 开源和 stackoverflow 拷贝对应的代码,或者对某些代码略作一些修改 首先确定问题,要写出什么样...

2016/11/22 23:20
92
0
第伍章學題 Lisp 3rd Edition, Winston & Horn

5-1: Ignoring the existence of NTHCDR, the primitive supplied by LISP itself, write a tail recursive, SKIP-FIRST-N that trims off the first n elements from a list and return the...

2012/01/19 14:31
213
0
侧滑swipt-demo

侧滑swipt-demo http://cubiq.org/dropbox/SwipeView/demo/gallery/ https://github.com/cubiq/SwipeView...

2015/06/29 09:11
31
0
Intermediate linear regression

1: Introduction To The Data The Leaning Tower of Pisa is one of the largest tourist attractions in Italy. For hundreds of years this tower slowly leaned to one side, eventually ...

2016/09/27 15:45
6
0

没有更多内容

加载失败,请刷新页面

返回顶部
顶部