开发者社区> 技术小能手> 正文

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

简介:
+关注继续查看

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平台生态重要部分。

本文来自云栖社区合作伙伴“开源中国”

本文作者:h4cd

原文链接

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
彩虹女神跃长空,Go语言进阶之Go语言高性能Web框架Iris项目实战-JWT和中间件(Middleware)的使用EP07
前文再续,上一回我们完成了用户的登录逻辑,将之前用户管理模块中添加的用户账号进行账号和密码的校验,过程中使用图形验证码强制进行人机交互,防止账号的密码被暴力破解。本回我们需要为登录成功的用户生成Token,并且通过Iris的中间件(Middleware)进行鉴权操作。
86 0
彩虹女神跃长空,Go语言进阶之Go语言高性能Web框架Iris项目实战-完善用户管理EP04
书接上回,上一回我们完成了用户管理页面的构建,并且通过前端的Vue.js框架动态地获取表单数据,同时异步请求后端Iris接口进行入库操作,过程中使用函数封装可复用的逻辑。 本回我们将继续完善用户管理功能。
39 0
彩虹女神跃长空,Go语言进阶之Go语言高性能Web框架Iris项目实战-用户系统EP03
前文再续,之前一篇我们已经配置好了数据库以及模板引擎,现在可以在逻辑层编写具体业务代码了,博客平台和大多数在线平台一样,都是基于用户账号体系来进行操作,所以我们需要针对用户表完成用户账号的CURD操作。
27 0
【Svelte框架】Svelte在构建快速Web应用程序过程中对于嵌套组件和preventDefault【一个APP的实例】
【Svelte框架】Svelte在构建快速Web应用程序过程中对于嵌套组件和preventDefault【一个APP的实例】
99 0
学习python web 需要的掌握技能、框架、必备工具、
学习python web 需要的掌握技能、框架、必备工具、
73 0
传统Web框架迁移
与其说Serverless架构是一个新的概念/架构,倒不如说他是一个全新的思路,一种新的编程范式,在这种新的架构下,或者说新的编程范式下,使用全新的思路来做Serverless应用是再好不过的了,但是实际上并不是这样的,原生的Serverless开发框架是非常少的,以Web框架为例,目前的主流的Web框架“均不支持Serverless模式部署”,一方面是我们要尝试接触Serverless,一方面又没办法完全放弃传统框架,所以将传统框架如果更简单、更快速、更科学的部署到Serverless架构上就是一个值得探讨的问题。
71 0
体验 Scala 语言的 Play Web 框架
体验 Scala 语言的 Play Web 框架
86 0
传统 Web 框架部署与迁移
与其说 Serverless 架构是一个新的概念,不如说它是一种全新的思路,一种新的编程范式。
258 0
Shiro框架学习笔记(三)与web集成之后进行简单的身份验证
Shiro框架学习笔记(三)与web集成之后进行简单的身份验证
59 0
+关注
技术小能手
云栖运营小编~
文章
问答
视频
文章排行榜
最热
最新
相关电子书
更多
PWA:移动Web的现在与未来
立即下载
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载
相关实验场景
更多