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
7KB
60 行
HSR
快速构建 HTTP API,使用 Rust 和 OpenAPI
- 将您的 API 定义为 OpenAPI 3.0 规范
- HSR 将生成服务器/客户端接口
- 实现您的接口(简单、安全、强类型!)
- 运行!'如果编译成功,那么它就工作!'
文档
快速入门
查看 快速入门示例。它包含了启动所需的最小样板代码。
教程
阅读 教程 获取启动指南。
非快速入门
查看 petstore 示例,这是一个具有模拟数据库后端更复杂示例。
特性
- HTTP 服务器
- HTTP 客户端
- 类型安全的路径/查询/json 处理
- 支持所有 HTTP 动词
- 高性能
- 基于
async/await
和actix-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