14 个版本
0.6.1 | 2024 年 8 月 2 日 |
---|---|
0.6.0 | 2024 年 2 月 24 日 |
0.5.2 | 2023 年 11 月 17 日 |
0.4.0 | 2022 年 2 月 5 日 |
0.1.1 | 2019 年 12 月 12 日 |
#566 在 解析器实现 中
每月 395 次下载
在 openapi-fuzzer 中使用
26KB
509 行(不包括注释)
Openapi Utils
此软件包为 Openapiv3 软件包 的多个结构体提供扩展方法。
旨在使处理 openapi 合同中的信息更加方便。
用法
此软件包在 openapiv3::OpenAPI
数据类型上提供了一个 deref_all
方法。此方法将文档中的所有 $ref
内联。
示例
use openapi_utils::SpecExt;
pub fn read<P: AsRef<Path>>(filename: P) -> openapiv3::OpenAPI {
let data = std::fs::read_to_string(filename).expect("OpenAPI file could not be read.");
serde_yaml::from_str(&data).expect("Could not deserialize file as OpenAPI v3.0 yaml")
}
let spec = read(filename).deref_all();
在 ReferenceOr 结构体中的 to_item
、to_item_ref
和 to_item_mut
方法假设在 spec 上已调用 deref_all
,否则会 panic。这些方法实际上是一个简写,用于在枚举中选择正确的元素(项目)。
有关其他结构体中的其他方法,请参阅每个扩展的文档。要在您的结构体中使用这些方法,您需要使用相应的扩展。
支持 no_std
此软件包与 no_std 兼容,尽管需要一个全局分配器。
许可协议
许可协议为 Apache 许可协议 2.0 版或 MIT 许可协议,由您选择。除非您明确声明,否则您根据 Apache-2.0 许可协议有意提交给此软件包的任何贡献,均应按上述方式双许可,不附加任何额外条款或条件。
依赖项
~2.4–3.5MB
~63K SLoC