Skip to main content

Crate alun

Crate alun 

Source
Expand description

§Alun —— 快、简、美的 Rust Web 框架

配置驱动,一行启动,零成本抽象。

§快速开始

use alun::prelude::*;

#[tokio::main]
async fn main() -> alun::Result<()> {
    App::from_config()?   // 从 config/config.toml 自动加载
        .get("/", || async { Res::ok("Hello, Alun!") })
        .parse_cli()      // 支持 gen-config 生成配置文件
        .serve("8080")
        .await
}

Re-exports§

pub use uuid;
pub use alun_web as web;
pub use alun_kafka;
pub use alun_task;
pub use alun_fs;

Modules§

prelude

Structs§

AlunRouter
路由注册器 —— 延迟构建 axum Router
ApiError
API 错误(对外暴露的统一错误类型)
App
App 构建器 —— 框架唯一入口,配置驱动,一行启动
AppConfig
完整应用配置——Settings + Routes + Plugins 三合一
AuthClaims
JWT 认证声明(挂载在 request.extensions 中)
Db
Db 门面 —— 配置驱动的数据库访问入口
JWT
JWT 管理器 —— 提供 Token 的完整生命周期管理
NoAuthDef
无需认证的路径定义 —— 由 #[no_auth] 宏注解生成
PermissionDef
路径权限定义 —— 由 #[permission("xxx")] 宏注解生成
Res
统一 API 响应结构
Row
Row:携带表名、主键名、数据和变更追踪
TokenClaims
JWT Token 声明(与 jsonwebtoken 配合使用)
UserId
已认证用户的 ID(从 JWT Token 中提取)
ValidatedJson
带自动校验的 JSON 提取器

Enums§

Error
框架统一错误类型
IdKind
主键 ID 类型 —— 自动识别并格式化数据库 ID 值
TokenType
Token 类型

Statics§

NO_AUTH_ROUTES
无需认证路径分布式切片 —— #[no_auth] 宏注解的路径在此汇集
PERMISSION_ROUTES
路径权限分布式切片 —— #[permission] 宏注解的权限规则在此汇集
ROUTES
路由注册分布式切片 —— #[get]#[post] 等宏注解的处理器在此汇集

Functions§

cache
获取全局缓存实例
cfg
获取全局配置(快捷方式)
config
获取全局配置管理器
db
获取全局数据库实例
render_template
渲染模板(便捷函数)
set_cache
初始化缓存
set_config
初始化配置
set_db
初始化数据库
set_template
初始化模板引擎
try_cache
安全获取缓存(返回 Option)
try_config
安全获取配置(返回 Option)
try_db
安全获取数据库(返回 Option)
try_template
安全获取模板引擎(返回 Option)

Type Aliases§

Result
框架统一 Result 类型

Attribute Macros§

controller
标记路由控制器类
delete
DELETE 路由
distributed_slice
get
GET 路由
permission
权限拦截:为处理器添加方法级权限校验
plugin
标记类型为插件,编译期自动注册
post
POST 路由
put
PUT 路由
task_handler
标记 TaskHandler 实现,编译期自动注册到 TASK_HANDLERS 分布式切片