Postgresql 如何使用Actix on Rust创建POST方法?

Postgresql 如何使用Actix on Rust创建POST方法?,postgresql,rust,jsonb,rust-actix,actix-web,Postgresql,Rust,Jsonb,Rust Actix,Actix Web,我正在研究一种将微服务从Ruby移植到Rust的方法。 我选择的框架是Actix(但其他任何人都可以毫无问题地工作)。 现在,我试图理解如何创建一个POST方法,该方法接收两个JSON作为输入。 这两个JSON具有两个完全不同的结构,并且在该结构中可以有不同的对象(JSON对象)稍后存储在两个PostgreSQL JSONB字段中 有关于如何构造函数和相关结构的提示吗?我本想把它作为字符串接收,但我不确定这样做是否正确。这很容易。对于这两种类型的数据,只需使用带有常规字段的结构和两个单独的结构声

我正在研究一种将微服务从Ruby移植到Rust的方法。 我选择的框架是Actix(但其他任何人都可以毫无问题地工作)。 现在,我试图理解如何创建一个POST方法,该方法接收两个JSON作为输入。 这两个JSON具有两个完全不同的结构,并且在该结构中可以有不同的对象(JSON对象)稍后存储在两个PostgreSQL JSONB字段中


有关于如何构造函数和相关结构的提示吗?我本想把它作为字符串接收,但我不确定这样做是否正确。

这很容易。对于这两种类型的数据,只需使用带有常规字段的结构和两个单独的结构声明

 struct FirstT {}
 struct SecondT {}

 #[derive(Serialize, Deserialize,Debug)]
 struct PostData {
   first_t: FirstT,
   second_t: SecondT 
 }


 
 async fn submit(data: web::Json<PostData>) -> HttpResponse {
     //use data.first_t data.second_t
 }

 #[actix_rt::main]
 async fn main() -> std::io::Result<()> {

  HttpServer::new(|| {
     App::new()
      .data(web::JsonConfig::default().limit(4096)) 
      .service(web::resource("/submit").route(web::post().to(submit)))
  })
  .bind("127.0.0.1:8000")?
  .run()
  .await
}
struct FirstT{}
结构SecondT{}
#[派生(序列化、反序列化、调试)]
结构PostData{
第一:第一,
第二名:第二名
}
异步fn提交(数据:web::Json)->HttpResponse{
//使用data.first\t data.second\t
}
#[actix_rt::main]
异步fn main()->std::io::Result{
HttpServer::新建(|||){
App::new()
.data(web::JsonConfig::default().limit(4096))
.service(web::resource(“/submit”).route(web::post().to(submit)))
})
.bind(“127.0.0.1:8000”)?
.run()
.等待
}