一、Swagger UI简介

Swagger UI是一个API在线文档生成和测试的利器,目前发现最好用的。它的源码也开源在GitHub上,地址:GitHub: https://github.com/swagger-api/swagger-ui

二、Swagger UI环境搭建

下载Swagger UI(也可以直接下载 zip 文件)

git clone https://github.com/swagger-api/swagger-ui.git

解压好的文件

主要用到的是dist目录,可以进入dist目录打开index.html看下界面,可以发现基本的模式是有了,但都是静态的文件。下面我们要进行nodejs配置,使其可以进行端口访问,直接使用node命令访问index.js没有反应,英语稍微好点的同学可以看下官网的配置步骤,接下来手动配置ui环境。

下面进行项目的配置

新建node_app文件夹

mkdir node_app

进入node_app目录,初始化node

npm init

根据提示输入好信息后会自动创建package.json文件,如下图:

初始化命令npm init,出现如下信息,填的地方可以随便写,也可以不写。

将下载的swagger-ui中的dist文件夹拷贝到node_app下。

安装express

install express

创建index.js,并将如下代码写入该js中

var express = require('express');

var app = express();

app.use('/root', express.static('dist'));

app.get('/', function (req, res) {

  res.send('Hello World!');

});

app.listen(3000, function () {

  console.log('Example app listening on port 3000!');

});

然后启动,并运行查看,如上代码为3000端口,如有冲突请自行修改

node index.js

访问

你可能会疑惑:这个Uber API怎么来的呢?下面我再给您解释下这个Uber API的来路,编辑index.html

文件你会发现有一段url引用了swagger官网的jsonApi文件

这里我们将这个json文件下载下来放到和index.html平级的目录,这里我直接访问我已经安装好的swagger-edtior进行文件的下载

然后存放到如下目录,并修改index.html

把index.html里的url换成swagger.json(注意这回写的是相对路径啦)

三、如何在tomcat里运行?

把node_app文件夹(已共享到QQ群文件:301343109)整个拷到tomcat的webapp目录下,然后启动tomcat,访问http://localhost:8070/node_app/dist/index.html,注意8070是我的tomcat的端口,因为我的8080端口已经运行了Swagger Editor。

可以看到和在express里访问的一样。

swagger-ui生成api文档并进行测试的更多相关文章

  1. go实践之swagger自动生成api文档

    文章目录 go实践之swagger自动生成api文档 1.安装需要用到的包 2.接口代码支持swagger 3. 生成swagger接口 go实践之swagger自动生成api文档 作为一个后端开发, ...

  2. Swagger UI教程 API 文档神器 搭配Node使用

    ASP.NET Web API 使用Swagger生成在线帮助测试文档 Swagger 生成 ASP.NET Web API 前言 swagger ui是一个API在线文档生成和测试的利器,目前发现最 ...

  3. springboot 集成 swagger 自动生成API文档

    Swagger是一个规范和完整的框架,用于生成.描述.调用和可视化RESTful风格的Web服务.简单来说,Swagger是一个功能强大的接口管理工具,并且提供了多种编程语言的前后端分离解决方案. S ...

  4. 使用Swagger自动生成API文档

    ⒈添加pom依赖 <!-- Swagger核心包,用于扫描程序生成文档数据 --> <dependency> <groupId>io.springfox</g ...

  5. ASP.NET Core 3.0 WebApi中使用Swagger生成API文档简介

    参考地址,官网:https://docs.microsoft.com/zh-cn/aspnet/core/tutorials/getting-started-with-swashbuckle?view ...

  6. 浅析如何在Nancy中使用Swagger生成API文档

    前言 上一篇博客介绍了使用Nancy框架内部的方法来创建了一个简单到不能再简单的Document.但是还有许许多多的不足. 为了能稍微完善一下这个Document,这篇引用了当前流行的Swagger, ...

  7. .NET Core和Swagger 生成 Api 文档

    测试/生产环境的BUG 这里更新一下在本地调试正常,在INT/PROD上抛错,错误信息为: */**/*.xml(Swagger json file) 文件找不到,在startup 里builder ...

  8. Swagger UI及 Swagger editor教程 API文档搭配 Node使用

    swagger ui 是一个在线文档生成和测试的利器,目前发现最好用的.为啥好用呢?打开 demo,支持API自动生成同步的在线文档些文档可用于项目内部API审核方便测试人员了解 API这些文档可作为 ...

  9. .NET Core和Swagger 生成 Api 文档转

    阅读目录 1.引用 2.打开startup.cs文件 3.设置XML注释 4.运行结果 5.主要问题的解决办法 6.可以自定义UI 前言 最近写了好多Web api, 老大说太乱了,要整理一下,使用S ...

随机推荐

  1. android 向webview传值

    android中可以使用WebView加载网页,同时Android端的java代码可以与网页上的javascript代码之间相互调用. 效果图: (一)Android部分: 布局代码: <spa ...

  2. Learning ROS for Robotics Programming Second Edition学习笔记(二) indigo tools

    中文译著已经出版,详情请参考:http://blog.csdn.net/ZhangRelay/article/category/6506865 Learning ROS for Robotics Pr ...

  3. VS2010中使用Jquery调用Wcf服务读取数据库记录

    VS2010中使用Jquery调用Wcf服务读取数据库记录 开发环境:Window Servere 2008 +SQL SERVE 2008 R2+ IIS7 +VS2010+Jquery1.3.2 ...

  4. python实现博客自动刷点击脚本

    #A Auto-Visit Web Site Tool import urllib import time import random print "Auto Click the WebPa ...

  5. gtk+2.0中GtkObject结构中没有klass成员的解决办法

    gtk+2.0中一些较老的程序中会有如下的代码: #define EVENT_METHOD(obj, method) GTK_WIDGET_CLASS(GTK_OBJECT(obj)->klas ...

  6. ROS探索总结(十三)——导航与定位框架

    导航与定位是机器人研究中的重要部分.         一般机器人在陌生的环境下需要使用激光传感器(或者深度传感器转换成激光数据),先进行地图建模,然后在根据建立的地图进行导航.定位.在ROS中也有很多 ...

  7. 杭电ACM 1004题

    原题大概意思就是统计输入字符串中,重复的最大个数! import java.util.Scanner; public class Main { public static void main(Stri ...

  8. [51nod 1515] 明辨是非

    Description 给\(n\)组操作,每组操作形式为\(x\;y\;p\). 当\(p\)为\(1\)时,如果第\(x\)变量和第\(y\)个变量可以相等,则输出\(YES\),并限制他们相等: ...

  9. 如何修改和查看tomcat内存大小

    为了解决tomcat在大进行大并发请求时,出现内存溢出的问题,请修改tomcat的内存大小,其中分为以下两种方式: 一.使用 catalina.bat 等命令行方式运行的 tomcat 查看系统最大支 ...

  10. Storm 提交多个流例程

    1.拓扑(Topology): builder.setBolt(TRANSFORM_BOLT, new TransformationBolt(), 1).shuffleGrouping(MY_SPOU ...