2个不稳定版本
0.1.0 | 2021年9月9日 |
---|---|
0.0.2 | 2021年9月6日 |
#10在#学生
145KB
2.5K SLoC
Rust API for hvcg_student_openapi_student
这是一个示例服务器学生信息服务器。为此示例,您可以使用API密钥 special-key
来测试授权过滤器。
概览
此客户端/服务器是由 [openapi-generator] (https://openapi-generator.tech) 项目生成的。通过使用远程服务器的 OpenAPI-Spec,您可以轻松生成服务器存根。
要了解如何将其变为自己的,请查看这里
- API版本:0.1.0
- 构建日期:2021-09-09T06:41:30.942757208Z[Etc/UTC]
此自动生成项目定义了一个API包 hvcg_student_openapi_student
,其中包含
- 一个定义Rust中API的
Api
特质。 - 表示底层数据模型的数据类型。
- 一个实现
Api
并为每个操作发出HTTP请求的Client
类型。 - 一个路由器,它接受HTTP请求并为每个操作调用适当的
Api
方法。
它还包含一个示例服务器和客户端,它们使用了 hvcg_student_openapi_student
- 示例服务器启动了一个使用
hvcg_student_openapi_student
路由器的网络服务器,并为Api
提供了一个简单的实现,该实现对于每个操作都返回失败。 - 示例客户端提供了一个CLI,允许您通过命令行传递适当的参数来调用
hvcg_student_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特质。
转换
- 默认禁用,并在模型上创建额外的派生,以允许在结构相似的类型对象之间进行“变形”。
有关如何在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 | 添加新学生 |
delete_student | DELETE /mutation-api/student-service/students/{id} | 删除学生 |
update_student | PUT /mutation-api/student-service/students/{id} | 更新现有学生 |
get_student_by_id | GET /query-api/student-service/students/{id} | 通过ID查找学生 |
getStudents | GET /query-api/student-service/students | 获取所有学生 |
模型文档
授权文档
student_auth
- 类型: Bearer token authentication
示例
作者
依赖
~12–24MB
~350K SLoC