1 个不稳定版本

0.3.0 2021 年 10 月 4 日

#44 in #tooling

MIT/Apache

100KB
2.5K 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! 包含相关代码。话虽如此,我们正在用过程宏做其他事情。

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

很遗憾,我没有想到更好的方法。

这里需要新的想法。

依赖关系

~5–23MB
~315K SLoC