12 个版本

0.6.2 2023 年 9 月 27 日
0.6.0 2023 年 1 月 14 日
0.5.1 2022 年 7 月 27 日
0.4.2 2021 年 11 月 7 日
0.1.0 2019 年 7 月 30 日

#183 in HTTP 服务器

Download history 3915/week @ 2024-04-08 4358/week @ 2024-04-15 3136/week @ 2024-04-22 3634/week @ 2024-04-29 4088/week @ 2024-05-06 4243/week @ 2024-05-13 3897/week @ 2024-05-20 4187/week @ 2024-05-27 5743/week @ 2024-06-03 4140/week @ 2024-06-10 4710/week @ 2024-06-17 3151/week @ 2024-06-24 2952/week @ 2024-07-01 3206/week @ 2024-07-08 3400/week @ 2024-07-15 2840/week @ 2024-07-22

12,491 每月下载量
用于 6 个 Crates(通过 paperclip

MIT/Apache

6MB
35K SLoC

JavaScript 21K SLoC // 0.1% comments JSX 11K SLoC // 0.0% comments Rust 3K SLoC // 0.0% comments Shell 90 SLoC // 0.2% comments Bitbake 41 SLoC // 0.1% comments

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!包含相关代码。话虽如此,我们在其他方面使用了过程宏

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

很遗憾,我想不出更好的方法。

需要新的想法。

依赖项

~3–16MB
~226K SLoC