【问题标题】:Slate vs Swagger - Which is better and which have more options? [closed]Slate vs Swagger - 哪个更好,哪个有更多选择? [关闭]
【发布时间】:2015-06-10 18:31:32
【问题描述】:

我必须记录我的 API。我必须使用其中任何一个SlateSwagger。我想知道哪个有更多的选择,利弊,哪个更好。

【问题讨论】:

    标签: documentation swagger api-doc swagger-editor


    【解决方案1】:

    关于 Slate:
    - API 文档模板/框架
    - 看起来不错
    - 易于使用
    - 语法高亮
    - 特定语言 - 选项卡式
    - 页面搜索
    - 3 列可自定义布局
    - 我们可以创建表
    - 每个块/方法/标题的可滚动链接
    - 警报设施 [3 种类型] – 警告、成功、通知
    - http 错误代码表
    - 降价语法
    - 我们可以使用网站标志
    - Demo

    关于 Swagger:
    - 它为我们提供了文档本身内部的 API 访问权限,我们可以在其中检查任何特定请求的响应。
    - 它提供了 API 响应及其参数和选项的清晰图片。
    - 基于 YAML 的格式
    - 不适合超媒体 API
    - Swagger 没有设计工具
    - 响应采用 XML 或 JSON
    - Swagger JS -- JavaScript 库,用于通过浏览器或 nodejs 连接到启用 swagger 的 API
    - Swagger Node Express -- node.js express 模块的 Swagger 模块
    - 它有招摇的 UI 框架
    - Demo

    【讨论】:

      【解决方案2】:

      Swagger 和 Slate 有两个不同的用途。 Swagger 是一种描述 RESTful API 的标准化方式的尝试(例如,类似于 ApiBlueprint

      Swagger 是一种基于 JSON 的 API 定义格式,允许描述 REST API。

      ~API Design Tooling From Swagger

      另一方面,Slate 是编写漂亮 API 文档的漂亮主题。

      1. 两者并不相互排斥
      2. 理想情况下,应该根据您的 Swagger API 描述生成您的 slate 文档

      Swagger 的目标是提供一个标准,其他人可以在此基础上构建广泛的工具(例如:文档、API 浏览器、模拟服务器、代码生成、测试实用程序等)。参见,例如:Swagger Tooling

      更多问题:一些用于招摇的 Slate 工具:

      所以这两者不是相互排斥的,而是您的直接问题:实施 Swagger 将为您提供更多选择和更大的灵活性(以及生成 Slate 文档的能力)。

      【讨论】:

      • Swagger2Slate 不再维护,似乎有几个突出的问题。 github.com/mermade/widdershins 是基于 Node.js 的 Swagger/OpenApi 规范到 Slate 降价转换器。披露,我是作者。
      • 即使有不同的目的,帽子社区也从大摇大摆变成了倾斜,例如:forum.hatcommunity.org/t/…
      【解决方案3】:

      我基于 python-flask 制作了 slate-flask(https://github.com/AhnSeongHyun/slate-flask)。

      特点:

      • 配置文件(config.json):设置标题、编程语言,例如使用基于 JSON 格式的 config.json 的代码。还要设置 API 文档和 TOC(目录)的路径。

      • 支持多API文档:原始Slate支持一个基于Markdown格式的API文档。但 slate-flask 支持多 API 文档,使用 TOC(index.json) 进行高效管理和文档数量。

      • 支持文档的动态变化:无需重启服务器即可反映API文档的变化。当网页刷新时,如果存在变化,slate-flask 会重新加载 API 文档。用户只专注于编写 API 文档。

      【讨论】:

        【解决方案4】:

        在我看来,这些工具的用途非常不同。 Swagger 是一种描述语言,而 slate 仅用于文档。

        我使用 swagger 创建了一个描述,从中我可以为我的 API 自动生成不同的客户端,甚至自动生成文档。

        您还可以根据 swagger 规范创建 Markdown,并在 Slate 中使用这些降价。 [1]

        [1]https://github.com/RobWin/swagger2markup

        【讨论】:

        • 感谢您的回答@Neoecos。我已经开始使用 Swagger 进行记录。
        • @SaribanD'Cl 如果答案有用,请接受绿色答案✓
        猜你喜欢
        • 1970-01-01
        • 2013-06-10
        • 2014-07-26
        • 2020-06-15
        • 2016-06-15
        • 2022-01-23
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多