#json-xml #xml #protobuf #json #serde #serialization #serde-json

actix-multiresponse

actix-multiresponse旨在允许根据Content-Type和Accept头支持多种响应/请求数据格式

7 个不稳定版本 (3 个破坏性更新)

0.4.2 2022年12月30日
0.4.1 2022年12月30日
0.3.0 2022年10月26日
0.2.0 2022年7月3日
0.1.0 2022年3月13日

#2235 in 编码

每月40次下载

MIT/Apache

23KB
451 行代码

actix-multiresponse

actix-multiresponse旨在允许根据Content-TypeAccept头支持多种响应/请求数据格式。

支持格式

  • Json
  • Protobuf
  • XML

所有格式都可以通过同名的功能标志启用。至少应启用一个格式。默认情况下,启用了jsonprotobuf

示例

use prost_derive::Message;
use serde_derive::{Deserialize, Serialize};
use actix_multiresponse::Payload;

#[derive(Deserialize, Serialize, Message, Clone)]
struct TestPayload {
    #[prost(string, tag = "1")]
    foo: String,
    #[prost(int64, tag = "2")]
    bar: i64,
}

async fn responder(payload: Payload<TestPayload>) -> Payload<TestPayload> {
    payload
}

许可证

actix-multiresponse可以在MIT或Apache-2.0许可证下双授权,由您自行选择


lib.rs:

actix-multiresponse旨在允许根据Content-Accept头支持多种响应/请求数据格式。

支持格式

  • Json
  • Protobuf

所有格式都可以通过功能标志启用。至少应启用一个格式以使此库有用。

示例

    use prost_derive::Message;
    use serde_derive::{Deserialize, Serialize};
    use actix_multiresponse::Payload;

    #[derive(Deserialize, Serialize, Message, Clone)]
    struct TestPayload {
        #[prost(string, tag = "1")]
        foo: String,
        #[prost(int64, tag = "2")]
        bar: i64,
    }

    async fn responder(payload: Payload<TestPayload>) -> Payload<TestPayload> {
        payload
    }

依赖项

~14–26MB
~460K SLoC