Swagger 解析器

SwagerParser 是一个 Swift 实现的 OpenAPI 2.0 规范。(以前称为 Swagger) 这个库旨在与诸如 Stencil 的模板引擎结合使用。 结合使用,您可以编写模板,以从 API 文档生成您选择的语言的样板代码。

前提条件

SwaggerParser 的当前(也是唯一维护的)版本需要 Swift 4.0+,因为它使用了内置的 Codable 协议。 它没有依赖项,并且可以为 macOS 10.13 编译。 它可能可以在 Linux 和旧版本的 macOS 上编译,但这未经测试。

安装

SwaggerParser 可以通过 Swift Package Manager 获得。 要安装该软件包,请将以下内容添加到您的 Package.swift 文件中

        .Package(url: "https://github.com/AttilaTheFun/SwaggerParser.git", majorVersion: 0, minor: 5)

并运行 swift package update 以安装该库。 要使用该库,请导入该模块并尝试实例化 Swagger 类型的实例,无论是来自 JSON 数据还是 JSON 字符串

import SwaggerParser

...

let jsonString = // load the swagger file into a string
let swagger = try Swagger(from: jsonString)

// Prints: "Gets the user with the specified ID"
print(swagger.paths["/users/{user_id}"].operations[.get]?.description) 

运行测试

这个软件包包含可以使用 swift package test 或在 Xcode 中通过使用 swift package generate-xcodeproj 生成 xcodeproj 来运行的测试。

贡献

欢迎贡献,如果您发现该库存在问题,请在 github 问题部分报告。 要做出贡献,请 fork 存储库,进行更改,然后打开一个拉取请求到 master 分支。

版本控制

我们使用 SemVer 进行版本控制。 在达到 1.0 版本之前,次要版本可能会破坏源代码,但补丁版本不会。

贡献者

Logan Shire - AttilaTheFun 编写核心库并将其移植到 Swift 4 / Codable。

Westin Newell - n8chur 贡献了对 allOfx-nullablex-abstractexamplediscriminator 等的支持。

Yonas Kolb - yonaskolb 贡献了对元数据、版本、循环引用和缺失操作属性的解析。

许可

本项目根据 MIT 许可证获得许可 - 有关详细信息,请参阅 LICENSE.md 文件。