#oauth2 #client #http-request #http-client #data #api-client #server-client

timezynk-bridge-models

Timezynk 从/到同步和映射数据的 API。Oauth2 认证,需要具有权限级别管理器或具有 write:company 范围的 api-client。有关认证信息,请访问 https://developer.timezynk.com

6 个版本

使用旧的 Rust 2015

0.1.4 2019 年 11 月 22 日
0.1.3 2019 年 11 月 22 日
0.1.1 2019 年 10 月 7 日
0.1.0 2019 年 4 月 3 日
0.0.2 2019 年 3 月 22 日

#44#oauth2

33 每月下载次数

Unlicense

150KB
2.5K SLoC

Rust timezynk-bridge-models API

Timezynk 从/到同步和映射数据的 API。Oauth2 认证,需要具有权限级别管理器或具有 write:company 范围的 api-client。有关认证信息,请访问 https://developer.timezynk.com

概述

此客户端/服务器由 [openapi-generator] (https://openapi-generator.tech) 项目生成。通过使用远程服务器的 OpenAPI-Spec,您可以轻松生成服务器存根。

有关如何使此成为您自己的代码的说明,请在此查看

README

  • API 版本:0.1.4
  • 构建日期:2019-11-22T09:27:59.558Z[GMT]

此自动生成的项目定义了一个名为 timezynk-bridge-models 的 API crate,它包含以下内容:

  • 一个定义 API 的 Api 特性。
  • 表示底层数据模型的数据类型。
  • 一个 Client 类型,它实现了 Api 并为每个操作发出 HTTP 请求。
  • 一个路由器,它接受 HTTP 请求并调用每个操作的适当的 Api 方法。

它还包括一个示例服务器和客户端,它们使用了 timezynk-bridge-models

  • 示例服务器启动了一个使用 timezynk-bridge-models 路由器的网络服务器,并提供了对每个操作返回失败的简单 Api 实现。
  • 示例客户端提供了一个 CLI,允许您通过在命令行中传递适当的参数来调用 timezynk-bridge-models 客户端的任何单个操作。

您可以使用示例服务器和客户端作为您自己的代码的基础。有关实现服务器的更多详细信息,请参阅下面的 说明

示例

运行示例

cargo run --example <example-name>

要将参数传递给示例,请将它们放在 -- 之后,例如

cargo run --example client -- --help

运行示例服务器

要运行服务器,请按照以下简单步骤操作

cargo run --example server

运行示例客户端

要运行客户端,请按照以下简单步骤之一进行:

cargo run --example client DataSinksGet
cargo run --example client DataSinksPost
cargo run --example client DataSourcesGet
cargo run --example client DataSourcesPost
cargo run --example client EntitiesEntityIdChangesGet
cargo run --example client EntitiesEntityIdChangesPost
cargo run --example client EntitiesEntityIdNextSyncGet
cargo run --example client EntitiesEntityIdNextSyncPut
cargo run --example client EntitiesEntityIdPut
cargo run --example client EntitiesGet
cargo run --example client DataSourcesDataSourceIdSynchronizationStateGet

HTTPS

可以通过传递标志--https以HTTPS模式运行示例,例如:

cargo run --example server -- --https

这将使用示例目录中的密钥/证书。请注意,服务器链已由CN=localhost签名。

使用生成的库

生成的库具有一些可选功能,可以通过Cargo激活。

  • 服务器
    • 默认启用并创建基于hyper的服务器实现的基本框架
    • 要创建服务器堆栈,您需要提供一个API特质的实现来提供服务器函数。
  • 客户端
    • 默认启用并创建基于hyper的客户端实现的基本框架
    • 构建的客户端通过进行远程API调用实现API特质。
  • 转换
    • 默认禁用并创建额外的模型派生以允许在结构上类似的对象之间进行“变形”。

有关如何在您的Cargo.toml中使用功能的说明,请参阅https://doc.rust-lang.net.cn/cargo/reference/manifest.html#the-features-section

API端点的文档

所有URI都是相对于https://127.0.0.1的。

方法 HTTP请求 描述
**** GET /data-sinks 列出注册的数据源
**** POST /data-sinks 注册数据源
**** GET /data-sources 列出注册的数据源
**** POST /data-sources 注册数据源
**** GET /entities/{entityId}/changes 从数据源同步更改
**** POST /entities/{entityId}/changes 从数据源同步更改
**** GET /entities/{entityId}/next-sync 下一次同步
**** PUT /entities/{entityId}/next-sync 下一次同步
**** PUT /entities/{entityId} 更新实体
**** GET /entities 列出实体
**** GET /data-sources/{dataSourceId}/synchronization-state 列出数据源的同步状态

模型的文档

授权的文档

端点不需要授权。

作者

依赖关系

~13–23MB
~330K SLoC