domandtom/swagger-ui

此包最新版本(v2.0.17.0)没有提供许可证信息。

此包的官方仓库似乎已不存在,因此已冻结。

维护者

详细信息

github.com/DomAndTom/swagger-ui

来源

安装: 440

依赖: 1

建议: 0

安全: 0

星星: 0

观察者: 16

分支: 7 100

语言:JavaScript

v2.0.17.0 2014-06-26 15:45 UTC

This package is not auto-updated.

Last update: 2020-02-03 03:29:30 UTC


README

Swagger UI 是 Swagger 项目的一部分。Swagger 项目允许您生成、可视化和使用自己的 RESTful 服务。无需代理或第三方服务。按自己的方式来做。

Swagger UI 是一套无需依赖的 HTML、JavaScript 和 CSS 资产集合,可以动态地从 Swagger 兼容的 API 生成美观的文档和沙盒。由于 Swagger UI 没有依赖项,您可以在任何服务器环境中或本地机器上托管它。

什么是 Swagger?

Swagger™ 的目标是定义一个标准、语言无关的接口,用于 REST API,允许人类和计算机在不访问源代码、文档或通过网络流量检查的情况下发现和理解服务的功能。通过 Swagger 正确定义,消费者可以使用最少的实现逻辑来理解并与远程服务交互。类似于接口为底层编程所做的工作,Swagger 去掉了调用服务时的猜测。

有关 Swagger 项目(包括支持其他语言的附加库和更多信息)的更多信息,请参阅 Swagger-Spec

如何使用它

下载

您可以直接使用 swagger-ui 代码!无需构建或重新编译--只需克隆此存储库,并在 dist 文件夹中使用预构建的文件。如果您喜欢当前的 swagger-ui,请在这里停止。

构建

您可以在自己的机器上重新构建 swagger-ui 来调整它,或者只是为了说自己做过。要这样做,请按照以下步骤操作

  1. 安装 handlebars
  2. 安装 java
  3. npm install
  4. npm run-script build
  5. 您应该在 dist 文件夹下看到发行版。在浏览器中打开 ./dist/index.html 以启动 Swagger UI

使用

打开 Swagger UI 后,它将加载 Swagger Petstore 服务并显示其 API。您可以输入自己的服务器 URL 并点击探索以查看 API。

自定义

您可以选择根据您的组织自定义 Swagger UI。以下是其各个目录的概述

  • dist: 包含可以部署到服务器或从本地机器加载的发行版。
  • bin: 包含 swagger-ui 构建和测试使用的文件。这些文件不是发行版所必需的。
  • lib: 包含 swagger-ui 依赖的 JavaScript 依赖项。
  • node_modules: 包含 swagger-ui 开发所使用的 node 模块。
  • src - src/main/coffeescript: 主要的 CoffeeScript 代码 - src/main/templates: handlebars 模板,用于渲染 swagger-ui - src/main/html: html 文件,一些图像和 css - src/main/javascript: 一些由 CoffeeScript 代码引用的遗留 JavaScript

SwaggerUi

要使用swagger-ui,您应该查看swagger-ui html页面的源代码并进行自定义。这基本上需要您实例化一个SwaggerUi对象,并在其上调用load(),如下所示

    window.swaggerUi = new SwaggerUi({
        url:"http://petstore.swagger.wordnik.com/api/api-docs",
        dom_id:"swagger-ui-container"
    });

    window.swaggerUi.load();
  • url参数应指向符合Swagger规范的资源列表URL
  • dom_id参数是SwaggerUi将用户界面放入其中的DOM元素的ID
  • booleanValues SwaggerUI将布尔数据类型渲染为下拉列表。默认情况下,它提供了"true"和"false"字符串作为可能的选项。您可以使用此参数更改下拉列表中的值,例如,通过将booleanValues设置为new Array(0, 1)来更改值为0和1
  • docExpansion控制API列表的显示方式。它可以设置为'none'(默认)、'list'(显示每个资源的操作)或'full'(完全展开:显示操作及其详细信息)
  • onComplete是一个回调函数参数,可以将它传递以在SwaggerUI成功渲染后通知
  • onFailure是一个回调函数参数,可以将它传递以在SwaggerUI遇到失败且无法渲染时通知
  • 所有其他参数的详细解释见下文

HTTP方法和API调用

swagger-ui支持调用所有HTTP方法API,包括GET、PUT、POST、DELETE、PATCH、OPTIONS。这些在swagger-js项目中处理,请参阅那里了解它们的用法。

头参数

通过swagger-js中的可插拔机制支持头参数。您可以在index.html中查看如何动态设置头部的示例

// add a new ApiKeyAuthorization when the api-key changes in the ui.
$('#input_apiKey').change(function() {
  var key = $('#input_apiKey')[0].value;
  if(key && key.trim() != "") {
    window.authorizations.add("key", new ApiKeyAuthorization("api_key", key, "header"));
  }
})

这将向每次调用服务器时添加头api_key,其值为key。您可以将query替换为发送查询参数的值。

自定义头参数 - (用于基本身份验证等)

如果您有一些需要在每个请求中发送的头参数,请使用以下headers

window.authorizations.add("key", new ApiKeyAuthorization("Authorization", "XXXX", "header"));

注意!您可以在单个请求中传递多个头参数,只需为它们使用唯一的名称即可(在上面的示例中使用了key)。

如何改进

创建wordnik/swagger-ui的自己的分支

要共享您的更改,请提交一个pull请求

由于javascript文件是从coffeescript编译的,请提交更改到*.coffee文件!我们只能拒绝.js文件中的更改,因为它们将在每次构建UI时丢失。

许可证

版权所有2011-2013 Wordnik,Inc。

根据Apache License,版本2.0("许可证");除非遵守许可证,否则您不得使用此文件。您可以在apache.org/licenses/LICENSE-2.0获取许可证副本。

除非适用法律要求或书面同意,否则在许可证下分发的软件是以“现状”为基础分发的,不提供任何形式的明示或暗示保证。有关许可证的具体语言、权限和限制,请参阅许可证。