启动文件 main.rs
use controller;//引入的本地文件
use actix_web::{middleware, web, App, HttpServer};
#[actix_rt::main]
async fn main() -> std::io::Result<()> {
std::env::set_var("RUST_LOG", "actix_web=info");
env_logger::init();
HttpServer::new(||
{
App::new()
.wrap(middleware::Logger::default())
.route("/psot",web::post().to(controller::post))//post请求
.route("/get",web::get().to(controller::get))//get请求
})
.bind(":100")?
.run()
.await
}
controller 层
记得创建 mod.rs ,并在其中 添加controller
该mod需要在main.rs中 引用
use actix_web::{Result, HttpResponse, web, HttpRequest};
use crate::entity::{PageList};
pub async fn post(json: web::Json<PageList>) -> Result<HttpResponse> {
Ok(HttpResponse::Ok().body(format!("name:{}",json.into_inner().name)))
}
pub async fn get() -> Result<HttpResponse> {
Ok(HttpResponse::Ok().body("请求成功!"))
}
entity 层
记得创建 mod.rs ,并在其中 添加entity
该mod需要在main.rs中 引用
use serde::{Deserialize, Serialize};
# [derive(Serialize,Deserialize)]
pub struct PageList {
pub name: String,
}
有了这个基本的网络架构,就可以构建自己的项目了。
可按自己喜好进行划分代码结构。
看到这里了,给个免费的赞呀。