#student #openapi #client #api-client #server-client #hvcg #academics

hvcg_academics_openapi_student

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

12 个版本 (7 个破坏性更新)

0.8.1 2022 年 1 月 4 日
0.7.0 2021 年 12 月 31 日
0.5.0 2021 年 9 月 28 日

#2208 in 网页编程

每月 29 次下载

无许可证

210KB
4K SLoC

Rust API for hvcg_academics_openapi_student

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

概述

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

要了解如何将其变成自己的项目,请看这里

README

  • API 版本:0.8.1
  • 构建日期:2022-01-04T13:56:46.382828121Z[Etc/UTC]

此自动生成的项目定义了一个 APIcrate hvcg_academics_openapi_student,其中包含

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

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

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

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

示例

使用以下命令运行示例

cargo run --example <example-name>

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

cargo run --example client -- --help

运行示例服务器

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

cargo run --example server

运行示例客户端

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

cargo run --example client DeleteStudent
cargo run --example client GetStudentById
cargo run --example client GetStudents

HTTPS

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

cargo run --example server -- --https

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

使用生成的库

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

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

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

API端点文档

所有URI均相对于https://dev-sg.portal.hocvienconggiao.com

方法 HTTP请求 描述
addStudent POST /mutation-api/student-service/students 添加新学生
deleteStudent DELETE /mutation-api/student-service/students/{id} 删除学生
updateStudent PUT /mutation-api/student-service/students/{id} 更新现有学生
getStudentById GET /query-api/student-service/students/{id} 根据ID查找学生
getStudents GET /query-api/student-service/students 获取所有学生

模型文档

授权文档

student_auth

  • 类型:Bearer令牌认证

示例

作者

依赖项

~12–24MB
~347K SLoC