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

Download history 3677/week @ 2024-04-17 3614/week @ 2024-04-24 3967/week @ 2024-05-01 3877/week @ 2024-05-08 4035/week @ 2024-05-15 3794/week @ 2024-05-22 5275/week @ 2024-05-29 5050/week @ 2024-06-05 4360/week @ 2024-06-12 4351/week @ 2024-06-19 2994/week @ 2024-06-26 2919/week @ 2024-07-03 3021/week @ 2024-07-10 3718/week @ 2024-07-17 2702/week @ 2024-07-24 2582/week @ 2024-07-31

12,458 每月下载量
7 个 crate 中使用 (2 个直接使用)

MIT/Apache

170KB
4K SLoC

Paperclip

Build Status Linter Status Usage docs API docs Crates.io

Paperclip 提供了 OpenAPI 规范的工具。一旦完成,它将提供

  • Rust 中高效、类型安全、编译时检查的 HTTP API(服务器、客户端和 CLI)代码生成。
  • 支持处理、验证和托管 OpenAPI 规范。
  • 规范和代码生成的自定义。

目前仍在积极开发中,可能还不适合生产使用。

你可能还会感兴趣

本地开发

  • 请确保已安装 rustupcd 到此仓库并运行 make prepare 以设置您的环境。
  • 现在运行 make 以构建和运行测试。

贡献

本项目欢迎所有类型的贡献。任何贡献都不算小!

如果您想为此项目做出贡献但不知道如何开始,或者需要与此项目相关的帮助,请随时通过 Github 个人资料发给我电子邮件,或加入 Discord 服务器

行为准则

本项目遵循 Rust 行为准则

许可

根据以下之一许可

任选其一。

赞助商

资助该项目开发的人员

常见问题解答

为什么这个项目生成原始Rust代码而不是利用过程宏进行编译时代码生成?

我认为过程宏不是开发REST API的正确方式。我们需要能够以某种方式查看生成的代码,以识别名称、字段、支持的方法等。使用过程宏时,你只能猜测。

这并不意味着你不能在编译时生成API。唯一的区别是,你将使用构建脚本,并用include!包含相关代码。话虽如此,我们在其他方面使用了过程宏

编译时抛出的错误看起来不是很有用。难道没有更好的方法来做这件事吗?

很遗憾,我想不到。

需要新的想法。


lib.rs:

paperclip的核心结构和特性。

依赖项

~4–20MB
~293K SLoC