3个不稳定版本

0.2.0 2022年2月26日
0.2.0-beta.02021年7月11日
0.1.1 2021年7月11日
0.1.0 2021年7月11日

#45 in #derive-deserialize

34 每月下载量

MIT 许可证

22KB
400

actix-xml

crates.io Documentation

actix-web的XML提取器。

这个crate提供了一个名为 Xml 的结构体,可以用来从请求体中提取类型化信息。

底层使用 quick-xml 来解析负载。

示例

use actix_web::{web, App};
use actix_xml::Xml;
use serde::Deserialize;

#[derive(Deserialize)]
struct Info {
    username: String,
}

/// deserialize `Info` from request's body
async fn index(info: Xml<Info>) -> String {
    format!("Welcome {}!", info.username)
}

fn main() {
    let app = App::new().service(
        web::resource("/index.html").route(
            web::post().to(index))
    );
}

功能

  • encoding:支持非utf-8负载
  • compress-brotli(默认):启用actix-web compress-brotli支持
  • compress-gzip(默认):启用actix-web compress-gzip支持
  • compress-zstd(默认):启用actix-web compress-zstd支持

如果你已经移除了actix-web中的一个compress-*功能标志,确保通过设置default-features=false来移除它,否则它将为actix-web重新启用。

版本支持

  • 0.1.x - 支持 actix-web 3.3.x
  • 0.2.0-beta.0 - 支持 actix-web 4.0.0.beta.8
  • 0.2.0 - 支持 actix-web 4.0.x

许可证

MIT

依赖

~16–29MB
~534K SLoC