use serde::{Deserialize, Serialize};
#[derive(Serialize)]
struct NewUser<'a> { name: &'a str, email: &'a str }
#[derive(Deserialize, Debug)]
struct CreatedUser { id: u64, name: String, email: String }
#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
let client = reqwest::Client::new();
let resp = client.post("https://api.example.com/users")
.bearer_auth(std::env::var("API_TOKEN")?)
.json(&NewUser { name: "Alice", email: "a@x.com" })
.send().await?;
println!("status: {}", resp.status());
let created: CreatedUser = resp.error_for_status()?.json().await?;
println!("{created:#?}");
Ok(())
}
Create a free account and build your private vault. Share publicly whenever you want.