1个不稳定版本

0.1.0 2022年7月10日

#6 in #查看

MIT 协议

115KB
1.5K SLoC

Rust 对 harden_file_transfer_rs 的 API

无描述信息(由 Openapi Generator 生成 https://github.com/openapitools/openapi-generator

概述

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

要了解如何将其变为自己的,请查看这里

README

  • API版本:0.1.0
  • 构建日期:2022-06-26T22:35:43.556850+02:00[Europe/Madrid]

此自动生成的项目定义了一个名为 harden_file_transfer_rs 的 API crate,其中包含

  • 一个定义 Rust 中 API 的 Api 特性。
  • 代表底层数据模型的数据类型。
  • 一个路由器,接受 HTTP 请求并调用适当的 Api 方法以执行每个操作。

它还包括一个示例服务器,该服务器使用 harden_file_transfer_rs

  • 示例服务器启动一个使用 harden_file_transfer_rs 路由器的 Web 服务器,并提供了对每个操作返回失败的简单 Api 实现。

您可以将示例服务器用作自己的代码的基础。有关实现服务器的更多详细信息,请参阅下面的内容。

示例

使用以下命令运行示例

cargo run --example <example-name>

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

cargo run --example client -- --help

运行示例服务器

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

cargo run --example server

运行示例客户端

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

cargo run --example client CreateShareURL
cargo run --example client DeleteFileById
cargo run --example client DownloadFile
cargo run --example client GetFileById
cargo run --example client ListFiles
cargo run --example client RecoverFile
cargo run --example client UploadFile

HTTPS

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

cargo run --example server -- --https

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

使用生成的库

生成的库有少数几个可以通过 Cargo 激活的可选功能。

  • 服务器
    • 默认启用,并基于 hyper 创建服务器实现的基本框架
    • 为了创建服务器堆栈,您需要提供一个API特质的实现来提供服务器功能。
  • 转换
    • 默认情况下是禁用的,并在模型上创建额外的派生来实现结构类似类型的“变形”。

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

API端点文档

所有URI都相对于https://127.0.0.1:8000/v1

方法 HTTP请求 描述
createFile POST /files 创建文件对象元数据
createShareURL GET /files/{fileId}/share 为文件对象生成可共享的URL
deleteFileById DELETE /files/{fileId} 删除文件对象的内容和元数据属性
downloadFile GET /files/{fileId}/download 下载文件
getFileById GET /files/{fileId} 检索特定文件对象的元数据属性
listFiles GET /files 列出所有文件
recoverFile POST /files/{fileId}/recover 恢复被删除的文件对象的内容和元数据属性
uploadFile POST /files/{fileId}/upload 上传文件

模型文档

授权文档

端点不需要授权。

作者

依赖关系

~9–25MB
~327K SLoC