#rest-client #rest #api-client #client #generated-client #dsh #kpn

dsh_rest_api_client

为KPN数据服务枢纽提供的REST API客户端

1 个不稳定版本

0.1.0 2024年7月1日

#1329 in Web编程

36 每月下载量
用于 dsh_sdk

Apache-2.0

390KB
6.5K SLoC

DSH Rest API客户端

DSH REST API的OpenAPI规范实现。

描述

这个crate是DSH_SDK的一部分。它提供了一个用于DSH REST API的Rust客户端。此客户端使用Progenitor从OpenAPI规范生成。

基于

  • OpenAPI规范:1.7.0
  • Progenitor版本:0.7.0

目标

此crate提供

  • 一个具有调用所有DSH API端点的方法的客户端
  • 从OpenAPI规范纯代码生成

非目标

此crate不提供

  • DSH的认证或授权
  • 令牌管理
  • 选择特定平台/基本URL的功能

这些目标由DSH_SDK crate提供。

推荐用法

建议使用来自dsh_sdk crate的Rest Token Fetcher。为此,请在Cargo.toml文件中添加以下内容

[dependencies]
dsh_rest_api_client = "0.1.0"
dsh_sdk = { version = "0.4", features = ["rest-token-fetcher"], default-features = false }
tokio = { version = "1", features = ["full"] }

在项目中使用客户端

use dsh_rest_api_client::Client;
use dsh_sdk::{Platform, RestTokenFetcherBuilder};

const CLIENT_SECRET: &str = "";
const TENANT: &str = "tenant-name";

#[tokio::main]
async fn main() {
    let platform = Platform::NpLz;
    let client = Client::new(platform.endpoint_rest_api());

    let tf = RestTokenFetcherBuilder::new(platform)
        .tenant_name(TENANT.to_string())
        .client_secret(CLIENT_SECRET.to_string())
        .build()
        .unwrap();

    let response = client
        .topic_get_by_tenant_topic(TENANT, &tf.get_token().await.unwrap())
        .await;

    println!("Available topics: {:#?}", response);
}

变更日志

查看CHANGELOG.md以获取每个版本的更改。

许可证

有关此项目许可证的更多信息,请参阅LICENSE


版权所有 (c) Koninklijke KPN N.V.

依赖关系

~5–16MB
~226K SLoC