9个版本
新版本 0.3.1 | 2024年8月19日 |
---|---|
0.3.0 | 2024年7月3日 |
0.2.4 | 2024年2月15日 |
0.2.3 | 2023年9月18日 |
0.1.1 | 2022年11月11日 |
#543 in 编码
14KB
204 行
actix-bincode
Bincode 是Actix Web的负载提取器
注意:此crate使用Bincode版本2.0.0-rc.3
示例
use actix_bincode::Bincode;
use bincode::{Decode, Encode};
#[derive(Decode, Encode)]
pub struct Object {
pub num: i32,
pub text: String,
}
async fn index(object: Bincode<Object>) -> HttpResponse {
println!("num: {}", object.num);
println!("text: {}", object.text);
let config = bincode::config::standard();
let body = bincode::encode_to_vec(object.into_inner(), config).unwrap();
HttpResponse::Ok().body(body)
}
Serde示例
use actix_bincode::BincodeSerde;
use serde::{Deserialize, Serialize};
#[derive(Deserialize, Serialize)]
pub struct Object {
pub num: i32,
pub text: String,
}
async fn index(object: BincodeSerde<Object>) -> HttpResponse {
println!("num: {}", object.num);
println!("text: {}", object.text);
let config = bincode::config::standard();
let body = bincode::serde::encode_to_vec(object.into_inner(), config).unwrap();
HttpResponse::Ok().body(body)
}
配置bincode
提取器尝试从actix应用数据中读取配置,如果没有提供则默认为标准配置
let config = bincode::config::standard().with_big_endian();
let app = App::new().app_data(config);
许可
本项目遵循
- MIT许可 (LICENSE 或 https://opensource.org/licenses/MIT)
依赖
~15–25MB
~459K SLoC