OpenAPI 解析器
原生 Delphi 类,读取 OpenAPI 3.0、3.1 和 3.2 规范,Swagger 2.0 文档在读入时完成转换,让您以编程方式访问每个端点、模式和安全定义。
原生 Delphi 类,读取 OpenAPI 3.0、3.1 和 3.2 规范,Swagger 2.0 文档在读入时完成转换,让您以编程方式访问每个端点、模式和安全定义。
没有可以拖放到表单上的东西。sgcOpenAPI 不注册任何组件,也不提供设计期包,因此请在代码中创建 sgcOpenAPI_Classes.pas 里的 TsgcOpenAPI,并把任意规范读入其中。
ReadFromFile 接受路径,Read 接受字符串形式的文档,URL 则由命令行工具先行下载。JSON 与 YAML 都在本地读取,Swagger 2.0 文档同样在本地转换为 OpenAPI 3.0。
Paths、Webhooks、Components、Security、Servers、Tags 和 Info 都是对象上的属性,因此路径、操作、参数、请求/响应体、模式和安全方案都可以通过强类型模型访问。
TsgcOpenAPI_Parser_Client_Pascal 继承自同一个类,也就是说生成器就是读取器加上一个输出器。从它派生即可生成 Pascal 单元,也可以自己遍历模型,用于自定义工具和自动化。
$ref 不会被内联,而是以 _Ref 保留在对象上,所以模型并不会替你解引用。外部文件引用和 URL 引用由 TsgcOpenAPI_Bundle 事先取回并内联,它会记住已访问过的内容,并在达到最大深度时停止。
AllOf、OneOf 和 AnyOf 会连同 Discriminator 及其映射一起读入模式对象,代码生成器再把它们展平为 Pascal 类。
Warnings 会收集读取器无法处理的一切,从缺失的 info 对象到生成器忽略的关键字,并在每次读取时清空。行号和列号只对无法解析的 YAML 文档给出。