2 个版本
0.1.1 | 2024年2月10日 |
---|---|
0.1.0 | 2024年2月10日 |
#807 in 编码
17KB
173 代码行
📬 使用 serde 的 postcard axum 提取器和响应
示例
请求
use axum::{extract, routing::post, Router};
use serde::Deserialize;
use axum_postcard::Postcard;
#[derive(Deserialize)]
struct CreateUser {
email: String,
password: String,
}
async fn create_user(
Postcard(payload): Postcard<CreateUser>
) {
// payload is a `CreateUser`
todo!()
}
响应
use axum::{extract::Path, routing::get, Router};
use serde::Serialize;
use axum_postcard::Postcard;
#[derive(Serialize)]
struct User {
id: u32,
username: String,
}
async fn get_user(
Path(user_id) : Path<u32>
) -> Postcard<User> {
let user = find_user(user_id).await;
Postcard(user)
}
async fn find_user(user_id: u32) -> User {
todo!()
}
依赖项
~6–14MB
~152K SLoC