11 个不稳定版本
0.6.2 | 2023 年 9 月 27 日 |
---|---|
0.6.0 | 2023 年 1 月 14 日 |
0.5.2 | 2022 年 7 月 27 日 |
0.4.1 | 2021 年 10 月 15 日 |
0.1.0 | 2019 年 7 月 30 日 |
#17 in #tooling
12,458 每月下载量
在 7 个 crate 中使用 (2 个直接使用)
170KB
4K SLoC
Paperclip
Paperclip 提供了 OpenAPI 规范的工具。一旦完成,它将提供
- Rust 中高效、类型安全、编译时检查的 HTTP API(服务器、客户端和 CLI)代码生成。
- 支持处理、验证和托管 OpenAPI 规范。
- 规范和代码生成的自定义。
目前仍在积极开发中,可能还不适合生产使用。
你可能还会感兴趣
本地开发
- 请确保已安装
rustup
。cd
到此仓库并运行make prepare
以设置您的环境。 - 现在运行
make
以构建和运行测试。
贡献
本项目欢迎所有类型的贡献。任何贡献都不算小!
如果您想为此项目做出贡献但不知道如何开始,或者需要与此项目相关的帮助,请随时通过 Github 个人资料发给我电子邮件,或加入 Discord 服务器。
行为准则
本项目遵循 Rust 行为准则。
许可
根据以下之一许可
- Apache 许可证 2.0 (LICENSE-APACHE 或 http://www.apache.org/licenses/LICENSE-2.0)
- MIT 许可证 (LICENSE-MIT 或 http://opensource.org/licenses/MIT)
任选其一。
赞助商
资助该项目开发的人员
常见问题解答
为什么这个项目生成原始Rust代码而不是利用过程宏进行编译时代码生成?
我认为过程宏不是开发REST API的正确方式。我们需要能够以某种方式查看生成的代码,以识别名称、字段、支持的方法等。使用过程宏时,你只能猜测。
这并不意味着你不能在编译时生成API。唯一的区别是,你将使用构建脚本,并用include!
包含相关代码。话虽如此,我们在其他方面使用了过程宏。
编译时抛出的错误看起来不是很有用。难道没有更好的方法来做这件事吗?
很遗憾,我想不到。
需要新的想法。
lib.rs
:
paperclip的核心结构和特性。
依赖项
~4–20MB
~293K SLoC