4 个版本 (1 个稳定版)

1.0.0 2020 年 3 月 31 日
1.0.0-rc.32020 年 3 月 25 日
1.0.0-rc.22020 年 3 月 13 日
1.0.0-rc.12020 年 2 月 7 日

14#exonum 中排名

Download history 34/week @ 2024-03-14 48/week @ 2024-03-21 63/week @ 2024-03-28 43/week @ 2024-04-04 41/week @ 2024-04-11 32/week @ 2024-04-18 37/week @ 2024-04-25 39/week @ 2024-05-02 41/week @ 2024-05-09 40/week @ 2024-05-16 35/week @ 2024-05-23 28/week @ 2024-05-30 23/week @ 2024-06-06 28/week @ 2024-06-13 43/week @ 2024-06-20 16/week @ 2024-06-27

每月下载量 116
11 仓库中使用(直接使用 6 个)

Apache-2.0 协议

58KB
1K SLoC

Exonum 的 HTTP API 引擎

Travis Build Status License: Apache-2.0 rust 1.42.0+ required

exonum-api 仓库提供了一个可扩展的接口,用于构建后端无关的 HTTP API。在 Exonum 中,此仓库由 Rust 服务 和 Exonum 节点的插件使用。

在底层,exonum-api 使用 actix

有关更多信息,请参阅 仓库文档

示例

为插件提供 HTTP API

use exonum_api::{ApiBuilder};
use serde_derive::{Deserialize, Serialize};

#[derive(Serialize, Deserialize)]
pub struct SomeQuery {
    pub first: u64,
    pub second: u64,
}

fn create_api() -> ApiBuilder {
    let mut builder = ApiBuilder::new();
    builder
        .public_scope()
        .endpoint("some", |query: SomeQuery| {
            Ok(query.first + query.second)
        });
    builder
}

let builder = create_api();
// `builder` can now be passed to the node via plugin interface
// or via node channel.

用法

在您的 Cargo.toml 中将 exonum-api 作为依赖项包含

[dependencies]
exonum-api = "1.0.0"

请注意,通常不需要直接导入此仓库;它由 exonum 仓库导出。

许可证

exonum-api 根据 Apache 许可证(版本 2.0)授权。有关详细信息,请参阅 LICENSE

依赖项

~27MB
~568K SLoC