#server #server-client #openapi #filter #sample #hvcg #enrolable

hvcg_enrolable_openapi_program

这是一个示例服务器程序信息服务器。对于这个示例,您可以使用API密钥 special-key 来测试授权过滤器。

1 个不稳定版本

0.0.1 2021年9月15日

#129#server-client

无许可证

130KB
2.5K SLoC

Rust API for hvcg_enrolable_openapi_program

这是一个示例服务器程序信息服务器。对于这个示例,您可以使用API密钥 special-key 来测试授权过滤器。

概述

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

要了解如何将其变为自己的项目,请查看此处

README

  • API版本:0.0.1
  • 构建日期:2021-09-15T02:42:40.247793086Z[Etc/UTC]

此自动生成的项目定义了一个API包 hvcg_enrolable_openapi_program,它包含

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

它还包含一个示例服务器和客户端,它们使用 hvcg_enrolable_openapi_program

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

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

示例

使用以下命令运行示例

cargo run --example <example-name>

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

cargo run --example client -- --help

运行示例服务器

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

cargo run --example server

运行示例客户端

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

cargo run --example client DeleteProgram
cargo run --example client GetProgramById
cargo run --example client GetPrograms

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://dev-sg.portal.hocvienconggiao.com的。

方法 HTTP请求 描述
addProgram POST /mutation-api/enrolable-service/programs 添加新项目
deleteProgram DELETE /mutation-api/enrolable-service/programs/{id} 删除项目
updateProgram PUT /mutation-api/enrolable-service/programs/{id} 更新现有项目
getProgramById GET /query-api/enrolable-service/programs/{id} 通过ID查找项目
getPrograms GET /query-api/enrolable-service/programs 获取所有项目

模型文档

授权文档

program_auth

  • 类型:Bearer令牌认证

示例

作者

依赖

~12–24MB
~349K SLoC