#server #server-client #api-key #api-client #filter #sample #authorization

hvcg_example_openapi_entity

这是一个示例服务器Petstore服务器。为此示例,您可以使用API密钥 special-key 来测试授权过滤器。

1 个稳定版本

1.0.0 2021年5月14日

#52 in #sample


hvcg-commons-lambda-clien… 中使用

无许可证

305KB
5.5K SLoC

Rust对hvcg_example_openapi_entity的API

这是一个示例服务器Petstore服务器。为此示例,您可以使用API密钥 special-key 来测试授权过滤器。

概述

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

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

README

  • API版本:1.0.0
  • 构建日期:2021-05-14T20:40:15.040864+07:00[亚洲/曼谷]

此自动生成项目定义了一个API包 hvcg_example_openapi_entity,其中包含

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

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

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

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

示例

使用以下命令运行示例

cargo run --example <example-name>

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

cargo run --example client -- --help

运行示例服务器

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

cargo run --example server

运行示例客户端

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

cargo run --example client DeletePet
cargo run --example client FindPetsByStatus
cargo run --example client FindPetsByTags
cargo run --example client GetPetById
cargo run --example client UpdatePetWithForm
cargo run --example client UploadFile
cargo run --example client DeleteOrder
cargo run --example client GetInventory
cargo run --example client GetOrderById
cargo run --example client CreateUsersWithArrayInput
cargo run --example client CreateUsersWithListInput
cargo run --example client DeleteUser
cargo run --example client GetUserByName
cargo run --example client LoginUser
cargo run --example client LogoutUser

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均相对于 http://petstore.swagger.io/v2

方法 HTTP请求 描述
addPet POST /pet 向商店添加新宠物
deletePet DELETE /pet/{petId} 删除宠物
findPetsByStatus GET /pet/findByStatus 按状态查找宠物
findPetsByTags GET /pet/findByTags 按标签查找宠物
getPetById GET /pet/{petId} 按ID查找宠物
updatePet PUT /pet 更新现有宠物
updatePetWithForm POST /pet/{petId} 使用表单数据更新商店中的宠物
uploadFile POST /pet/{petId}/uploadImage 上传图片
deleteOrder DELETE /store/order/{orderId} 按ID删除购买订单
getInventory GET /store/inventory 按状态返回宠物库存
getOrderById GET /store/order/{orderId} 按ID查找购买订单
placeOrder POST /store/order 为宠物下订单
createUser POST /user 创建用户
createUsersWithArrayInput POST /user/createWithArray 创建给定输入数组的用户列表
createUsersWithListInput POST /user/createWithList 创建给定输入数组的用户列表
deleteUser DELETE /user/{username} 删除用户
getUserByName GET /user/{username} 按用户名获取用户
loginUser GET /user/login 登录系统
logoutUser GET /user/logout 注销当前登录用户会话
updateUser PUT /user/{username} 更新用户

模型文档

授权文档

api_key

  • 类型: API密钥

示例

petstore_auth

示例

或通过OAuth2模块自动刷新令牌并执行用户身份验证。

作者

依赖项

~12–24MB
~352K SLoC