我刚刚开始学习 Rust Axum,我想知道应该如何构建我的项目。
现在,我的项目是一个简单的内存待办应用程序,它是从 YouTube 教程中窃取的,他在其中为特定文件夹定义了一个路由器。 现在的结构如下所示:
.
├── Cargo.lock
├── Cargo.toml
└── src
├── in_memory
│ ├── mod.rs
│ ├── routes.rs
│ └── state.rs
└── main.rs
我对用于路由的函数都写在同一个文件中感到不舒服,但我同意这样。
如果有人知道我是否可以编写一个文件,那么我可以导入很棒的功能。
现在我的问题如下:
如果我想让我的项目更大并添加另一个部分,我应该将所有新代码放在哪里? 我必须使用同一个文件吗?
我想您想知道是否可以将路线拆分为单独的文件。如果是的话你可以试试这个。
首先创建模块。 导出其中模块的路由 并使用 merge 将这些路由合并到您的主文件中
路线1.rs
pub async fn list(
request: Request,
) -> Json<serde_json::Value> {
let val= SOMETHING
Json(val)
}
pub fn_get_routes(){
Router::new()
.route("/",get(list))
... other routes
}
路线.rs
mod route1;
mod route2;
main.rs
#[tokio::main]
async fn main() -> Result<(), Error> {
let app = Router::new()
.merge(routes::route1::get_routes())
.merge(routes::route2::get_routes())
run(app).await
async fn main() -> Result<(), Error> {
let app = Router::new()
.merge(routes::route1::get_routes())
run(app).await
}