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

简介:

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 生态系统的一部分。

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

本文作者: krircc

原文链接


相关文章
|
SQL 分布式计算 Hadoop
Azkaban【基础 01】核心概念+特点+Web界面+架构+Job类型(一篇即可入门Azkaban工作流调度系统)
【2月更文挑战第6天】Azkaban【基础 01】核心概念+特点+Web界面+架构+Job类型(一篇即可入门Azkaban工作流调度系统)
1234 0
|
9月前
|
人工智能 自然语言处理 JavaScript
测试工程师要失业?Magnitude:开源AI Agent驱动的端到端测试框架,让Web测试更智能,自动完善测试用例!
Magnitude是一个基于视觉AI代理的开源端到端测试框架,通过自然语言构建测试用例,结合推理代理和视觉代理实现智能化的Web应用测试,支持本地运行和CI/CD集成。
1168 15
测试工程师要失业?Magnitude:开源AI Agent驱动的端到端测试框架,让Web测试更智能,自动完善测试用例!
|
SQL 安全 PHP
PHP 自发布以来一直在 Web 开发领域占据重要地位,PHP 8 更是带来了属性、刚性类型等新特性。
【10月更文挑战第1天】PHP 自问世以来,凭借其易用性和灵活性,在 Web 开发领域迅速崛起。从简单的网页脚本语言逐步演进为支持面向对象编程的现代语言,尤其自 PHP 5.3 引入命名空间后,代码组织和维护变得更加高效。PHP 7 的性能优化和 PHP 8 的新特性(如属性和刚性类型)进一步巩固了其地位。框架如 Laravel、Symfony、Yii2 和 CodeIgniter 等简化了开发流程,提高了效率和安全性。
202 2
|
开发框架 搜索推荐 数据可视化
Django框架适合开发哪种类型的Web应用程序?
Django 框架凭借其强大的功能、稳定性和可扩展性,几乎可以适应各种类型的 Web 应用程序开发需求。无论是简单的网站还是复杂的企业级系统,Django 都能提供可靠的支持,帮助开发者快速构建高质量的应用。同时,其活跃的社区和丰富的资源也为开发者在项目实施过程中提供了有力的保障。
629 67
|
开发框架 JavaScript 前端开发
TypeScript 是一种静态类型的编程语言,它扩展了 JavaScript,为 Web 开发带来了强大的类型系统、组件化开发支持、与主流框架的无缝集成、大型项目管理能力和提升开发体验等多方面优势
TypeScript 是一种静态类型的编程语言,它扩展了 JavaScript,为 Web 开发带来了强大的类型系统、组件化开发支持、与主流框架的无缝集成、大型项目管理能力和提升开发体验等多方面优势。通过明确的类型定义,TypeScript 能够在编码阶段发现潜在错误,提高代码质量;支持组件的清晰定义与复用,增强代码的可维护性;与 React、Vue 等框架结合,提供更佳的开发体验;适用于大型项目,优化代码结构和性能。随着 Web 技术的发展,TypeScript 的应用前景广阔,将继续引领 Web 开发的新趋势。
377 2
|
存储 移动开发 数据库
HTML5 Web IndexedDB 数据库常用数据存储类型
IndexedDB 支持多种数据存储类型,满足复杂数据结构的存储需求。它包括基本数据类型(如 Number、String、Boolean、Date)、对象(简单和嵌套对象)、数组、Blob(用于二进制数据如图像和视频)、ArrayBuffer 和 Typed Arrays(处理二进制数据)、结构化克隆(支持 Map 和 Set 等复杂对象),以及 JSON 数据。尽管不直接支持非序列化数据(如函数和 DOM 节点),但可以通过转换实现存储。开发者应根据具体需求选择合适的数据类型,以优化性能和使用体验。
|
前端开发 JavaScript 索引
【Web 前端】JS的几种具体异常类型(报错)
【4月更文挑战第22天】【Web 前端】JS的几种具体异常类型(报错)
|
前端开发 UED
【Web 前端】css盒子模型有几种类型?它们区别是什么?
【4月更文挑战第22天】【Web 前端】css盒子模型有几种类型?它们区别是什么?
|
存储 JSON 前端开发
彩虹女神跃长空,Go语言进阶之Go语言高性能Web框架Iris项目实战-完善用户管理EP04
书接上回,上一回我们完成了用户管理页面的构建,并且通过前端的Vue.js框架动态地获取表单数据,同时异步请求后端Iris接口进行入库操作,过程中使用函数封装可复用的逻辑。 本回我们将继续完善用户管理功能。
彩虹女神跃长空,Go语言进阶之Go语言高性能Web框架Iris项目实战-完善用户管理EP04
|
存储 JSON 安全
Remix : 真正类型安全的 Web Apps
类型安全不仅有价值的,而且是可以做到端到端地跨边界实现。那么应该如何优雅实现真正类型安全的 Web Apps 呢
274 0
Remix : 真正类型安全的 Web Apps