Crates.io | rustcms-axum-xml |
lib.rs | rustcms-axum-xml |
version | 0.3.0 |
source | src |
created_at | 2023-03-15 02:38:25.412874 |
updated_at | 2023-03-15 02:38:25.412874 |
description | XML extractor for axum |
homepage | |
repository | https://github.com/rustcms/axum-xml |
max_upload_size | |
id | 810415 |
size | 14,667 |
添加到 Cargo.toml
rustcms-axum-xml = "0.3.0"
use axum::{
extract,
routing::post,
Router,
};
use serde::Deserialize;
use rustcms_axum_xml::Xml;
///
#[derive(Deserialize)]
struct CreateUser {
email: String,
password: String,
}
///
async fn create_user(Xml(payload): Xml<CreateUser>) {
// payload is a `CreateUser`
}
use axum::{
extract::Path,
routing::get,
Router,
};
use serde::Serialize;
use uuid::Uuid;
use rustcms_axum_xml::Xml;
#[derive(Serialize)]
struct User {
id: Uuid,
username: String,
}
async fn get_user(Path(user_id) : Path<Uuid>) -> Json<User> {
let user = find_user(user_id).await;
Xml(user)
}
因 axum-xml 0.2.0 不支持新版 axum ,所以在他基础上修改,并参考 axum Json 进行处理 Xml
XML extractor for axum.
This crate provides struct Xml
that can be used to extract typed information from request's body.
Under the hood, quick-xml is used to parse payloads.
encoding
: support non utf-8 payloadMIT