一个基于Axum实现的,更符合Java开发者习惯的Rust生态的Web框架

发布时间:2026/9/22 20:17:19

一个基于Axum实现的,更符合Java开发者习惯的Rust生态的Web框架
WebR 简介一个轻量的 Rust Web 框架基于 Axum 构建。提供宏驱动控制器、自动依赖注入、多文件配置管理和中间件系统旨在简化 Rust 中的 Web 开发。WebR 引入了 Java 系的框架中的 DI、Controller、Component和自动配置等概念在保证性能的同时帮助开发者更快速的使用 Rust 构建 Web 应用。同时也内置了轻量的ORM可通过类似Mybatis XML实现动态SQL。开源地址https://github.com/xgpxg/webr文档https://xgpxg.github.io/webr特性概览宏驱动路由 — #[controller] / #[get] / #[post]零样板DI 配置管理 — #[component] / #[config] 声明式注入多 Profile 切换中间件 — 全局/路径级中间件内置 CORS、日志、Panic 恢复请求处理 — JSON / Query / Form / Header 提取器Multipart 上传SSE 推送错误处理 — #[derive(HttpError)] 快速映射 HTTP 状态码数据库 — 连接池、#[sql] 动态查询、#[tx] 事务缓存 — Memory / Sled / Redis 统一 API快速开始创建第一个 WebR 应用并运行起来。创建项目cargonew my-appcdmy-app添加依赖编辑Cargo.toml[dependencies] webr { version 0.1 }创建配置文件config/application.toml[server] port 8080编写代码src/main.rsusewebr::prelude::*;#[controller]pubstructHelloController;#[controller]implHelloController{#[get(/)]asyncfnindex(self)-String{hello world.to_string()}}// 入口函数#[webr::main]asyncfnmain(_app:mutAppBuilder)-Result(){Ok(())}启动cargorun如果你看到以下输出则说明启动成功2026-07-06T06:29:41.284926Z INFO webr_web::app: Starting WebR application... 2026-07-06T06:29:41.285005Z INFO webr_web::app: Configuration loaded: profiledev, files[config/application.toml] 2026-07-06T06:29:41.285337Z INFO webr_web::app: Route mappings: 2026-07-06T06:29:41.285390Z INFO webr_web::app: GET / → HelloController 2026-07-06T06:29:41.285633Z INFO webr_web::app: WebR started on http://0.0.0.0:8080访问 http://localhost:8080/ 查看结果。项目目前仍处于开发版本生产不可用欢迎感兴趣的同学提PR。

相关新闻

Flink SQL 1.18 窗口函数实战:3种窗口处理实时订单,5分钟聚合延迟低于1秒

Flink SQL 1.18 窗口函数实战:3种窗口处理实时订单,5分钟聚合延迟低于1秒

2026/9/8 11:12:49

Flink SQL 1.18 窗口函数实战:3种窗口处理实时订单,5分钟聚合延迟低于1秒实时数据处理已成为现代数据架构的核心需求,而Apache Flink作为流处理领域的标杆,其SQL接口让开发者能够用熟悉的语法处理无限数据流。本文将深入Flink 1.1…

思源接入本地 ollama 部署的 qwen3-embedding

思源接入本地 ollama 部署的 qwen3-embedding

2026/9/22 20:17:18

前言 思源3.7后,官网已经接入Agent和语义搜索功能,语义搜索需要agent embedding,实现方式有两种: 调用商用的agent api,比如qwen-embedding3等模型自己搭建。 我这里选择的方式是第二种,通过ollama部署qw…

电容失效分析

电容失效分析

2026/8/23 0:28:29

陶瓷电容失效分析:多层片状陶介电容器由陶瓷介质、端电极、金属电极三种材料构成,失效形式为金属电极和陶介之间层错,电气表现为受外力(如轻轻弯曲板子或用烙铁头碰一下)和温度冲击(如烙铁焊接)…

CANN/GE ACL数据集缓冲区添加函数

CANN/GE ACL数据集缓冲区添加函数

2026/9/21 18:38:46

aclmdlAddDatasetBuffer 【免费下载链接】ge GE(Graph Engine)是面向昇腾的图编译器和执行器,提供了计算图优化、多流并行、内存复用和模型下沉等技术手段,加速模型执行效率,减少模型内存占用。 GE 提供对 PyTorch、Te…

用ffmpeg高效批量调整图片尺寸的实战指南

用ffmpeg高效批量调整图片尺寸的实战指南

2026/9/21 18:41:09

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

Transformers 音频特征提取工具库 audio_utils 全解析:从 Mel 刻度换算到对数 Mel 频谱

Transformers 音频特征提取工具库 audio_utils 全解析:从 Mel 刻度换算到对数 Mel 频谱

2026/9/21 18:36:40

Transformers 音频特征提取工具库 audio_utils 全解析:从 Mel 刻度换算到对数 Mel 频谱 【免费下载链接】transformers 🤗 Transformers: the model-definition framework for state-of-the-art machine learning models in text, vision, audio, and mu…

RustFS 多节点集群重启与滚动升级实战:Readiness、Quorum 与 Degraded 模式完全指南

RustFS 多节点集群重启与滚动升级实战:Readiness、Quorum 与 Degraded 模式完全指南

2026/9/21 18:37:26

RustFS 多节点集群重启与滚动升级实战:Readiness、Quorum 与 Degraded 模式完全指南 【免费下载链接】rustfs 🚀2.3x faster than MinIO for 4KB object payloads. RustFS is an open-source, S3-compatible high-performance object storage system sup…

Java Integer缓存揭秘:128陷阱原理、避坑与面试全解

Java Integer缓存揭秘:128陷阱原理、避坑与面试全解

2026/9/21 18:40:29

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

RustFS Scanner 数据用量发布权威性决策:配额准入如何获得可用的权威依据

RustFS Scanner 数据用量发布权威性决策:配额准入如何获得可用的权威依据

2026/9/21 18:36:17

RustFS Scanner 数据用量发布权威性决策:配额准入如何获得可用的权威依据 【免费下载链接】rustfs 🚀2.3x faster than MinIO for 4KB object payloads. RustFS is an open-source, S3-compatible high-performance object storage system supporting mi…

远程协作的工作台整理

远程协作的工作台整理

2026/9/22 0:19:28

远程协作的工作台整理远程协作的核心不是再加一个工具,而是让交接信息足够完整。异步任务要写明目标、输入位置、完成标准和需要决策的人。 工作台的最小配置 将日程、待办、代码和沟通入口收拢到少数固定位置;通知按紧急程度分层。工作台不需要模仿办公…

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能

2026/9/21 23:38:13

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能分类:[AI/大模型]细分主题:AI 增强型 CI/CD 流水线自动化与 GitOps 实践:Agent 工作流、工具调用与任务拆解:从原型到生产的验收清单很多团队在尝试用大…

容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场

容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场

2026/9/22 0:48:53

容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场分类:[工程技术]细分主题:Kubernetes 生产环境运维与排障实战:可复制的项目复盘模板与决策记录大部分团队的事故复盘报告,最后都变成了躺在 Confluence 或钉…