1 个不稳定版本
0.1.0 | 2023年4月6日 |
---|
#6 in #utoipa
12KB
186 行
protoc-gen-prost-utoipa
A protoc
插件,用于从 proto 文件生成 utoipa 模式实现。
当在仅使用 Rust 代码的项目中使用时,使用 Prost! 生成 protobuf 定义的首选机制是在 build.rs
文件中使用 prost-build
,然后使用 prutoipa-build
生成 utoipa 模式。然而,在多语言环境中,利用 Protocol Buffers 生态系统中的通用工具可能更有优势。常用的工具之一是 buf,它简化了代码生成过程,并包括一些有用的功能,例如代码检查、包管理和破坏性变更检测。
使用 protoc
和 protoc-gen-prost
首先,确保 protoc-gen-prost-utoipa
已安装在你的 $PATH
目录中。
为了更容易地处理由 prost
生成的基定义,此插件假定它是在与 protoc-gen-prost
相同的 protoc
调用中运行的链式模式。这可以通过在同一个 protoc
调用中指定多个插件来实现,如下所示
protoc -I proto proto/greeter/v1/greeter.proto \
--prost_out=proto/gen \
--prost-utoipa_out=proto/gen
作为单独的调用运行时,protoc
不会意识到由 protoc-gen-prost
生成的基定义。在这种情况下,需要使用 no_include
指令,并且需要单独包含生成的 .utoipa.rs
文件。
protoc -I proto proto/greeter/v1/greeter.proto \
--prost_out=proto/gen \
protoc -I proto proto/greeter/v1/greeter.proto \
--prost-utoipa_out=proto/gen \
--prost-utoipa_opt=no_include
使用 buf
尚未...
依赖项
~9–19MB
~269K SLoC