4 个版本 (重大变更)

0.4.0 2022年11月10日
0.3.0 2020年5月3日
0.2.0 2020年1月12日
0.1.0 2019年8月14日

#23 in #swagger

MIT 许可协议

7KB
60

HSR

快速构建 HTTP API,使用 Rust 和 OpenAPI

  • 将您的 API 定义为 OpenAPI 3.0 规范
  • HSR 将生成服务器/客户端接口
  • 实现您的接口(简单、安全、强类型!)
  • 运行!'如果编译成功,那么它就工作!'

文档

快速入门

查看 快速入门示例。它包含了启动所需的最小样板代码。

教程

阅读 教程 获取启动指南。

非快速入门

查看 petstore 示例,这是一个具有模拟数据库后端更复杂示例。

特性

  • HTTP 服务器
  • HTTP 客户端
  • 类型安全的路径/查询/json 处理
  • 支持所有 HTTP 动词
  • 高性能
  • 基于 async/awaitactix-web 4.2.1

常见问题解答

这个与 swagger-rs 有什么区别?

我没有使用 swagger-rs,然而主要的区别是 hsr 是纯 Rust,而 swagger-rs 依赖于一个用 Java 编写的现有代码生成器。这意味着 swagger-rs 可能更成熟、更准确,hsr 更容易使用,并且可以无缝集成到典型的 Rust 工作流程中。

您说的“快速”是什么意思?

它在底层使用 Actix-Web,被认为是 techempower 评价的最快网页框架之一。 hsr 在其上施加的额外开销非常小。

作为一个简单且非科学的基准测试,在我的笔记本电脑(X1 Carbon 6th Gen)上我测量了以下数据:

  • 空 GET 请求每秒 120,000 个请求
  • 每秒处理10万次带有JSON往返的POST请求

试试看吧!请参考性能测试示例

为什么叫这个名字?

我喜欢快车。

许可协议

MIT

依赖项

~18–30MB
~546K SLoC