github: https://github.com/wyanlord/rust-web-demo
旨在熟练rust的用法,对于web开发出身的来说,可以互相借鉴学习
欢迎在issue中提交问题
欢迎在分支上提交你的优秀的code
- 使用actix-web作为基础的web框架
- mysql使用的是sqlx
- redis使用的是mobc_redis,一种redis的连接池封装
- log使用的是log4rs
问题
- actix-web的中间件,无法获取request的body以及response的body [已修复]
- actix-web的请求体,无法支持请求上下文kv存储,如request-id等
- log4rs日志,目前不支持异步,而且不支持kv结构存储,json后不雅观
- sqlx暂不支持orm,需要自己手动拼写sql
- redis暂不支持集群Cluster
#[actix_rt::main]
async fn main() -> Result<(), Box<dyn Error>> {
// 初始化mysql连接池
db::mysql::init_pool(db::mysql::create_pool().await);
// 初始化redis连接池
db::redis::init_pool(db::redis::create_pool());
// 初始化日志文件
log::init_log();
// 创建app
let app_factory = || {
App::new()
// 自定义预处理中间件
.wrap(handler::AccessLog)
// api相关的路由
.service(handler::api_routes())
// 静态资源相关的路由
.service(handler::static_routes())
};
// 运行服务,绑定监听端口
HttpServer::new(app_factory).bind(conf::global().addr())?.run().await?;
Ok(())
}
1
共 3 条评论, 1 页
评论区
写评论这个有官方例子
没试过,最好是库本身支持。 对以下内容的回复:
Redis集群的支持,可以自己根据Redis返回来做重定向吗? 之前用HiRedis,也是不支持集群,得自己做重定向