1、SwaggerUI是什么?


Swagger UI是一款RESTFUL接口的文档在线自动生成+功能测试功能软件。

Swagger-UI 的官方地址:http://swagger.io/

Github上的项目地址: https://github.com/swagger-api/swagger-ui

官方提供的demo地址:http://petstore.swagger.io/

2、为什么API接口文档用SwaggerUI?


现在多数的项目开发中,网站和移动端都需要进行数据交互和对接,这少不了使用REST编写API接口这种场景。 特别是不同开发小组协作时,就更需要以规范和文档作为标准和协作基础。良好的文档可以减少沟通成本,达到事半功倍的效果。

有时对一些API说明的理解比较模糊,总想着能直接验证一下自己的理解就好了,而不是需要去项目写测试代码来验证自己的想法。 即API文档应具备直接执行能力,这种能力类似word,wiki等是无法提供。 SwaggerUI就是这样一种利器,基于html+javascript实现,倾向于在线文档和测试,使用和集成十分简单,能容易地生成不同模块下的API列表, 每个API接口描述和参数、请求方法都能定制并直接测试得到直观的响应数据。

体验SwaggerUI最好的方法就是看下官网提供的demo,看过之后相信你一定会兴奋不已。

3、SwaggerUI怎么用?


目前官方提供的SwaggerUI的使用方式主要有2种:

与不同的服务端代码集成
在服务端代码中嵌入SwaggerUI文档生成代码,部署时自动生成。
 
手动编辑对应的json文档
该json文档有其特定格式,相对比较复杂,手动编写难度比较大,可通过官方提供的在线编辑来实现。

4、SwaggerUI有什么弊端?


集成方式

如果是与服务端代码集成,直接嵌入到工程代码中,侵入性比较大,将文档参数和应用参数杂糅在一起,不易阅读,而且比较依赖于项目, 无法独立部署,项目挂掉,文档也无法访问。给后期代码维护增加难度。

如果直接编辑json文档,则难度比较大,即使是官网的在线编辑功能也比较弱,提示功能差劲,很多时候在编辑预览中没问题,导出来部署就显示不正常,而且 不支持多人编辑,只能一次一个人改,部署相当不方便。

 
用户体验
        无论请求还是响应无法方便的输入自定义json格式,特别是多层嵌套,异常繁琐。

5、SosoApi如何解决SwaggerUI弊端?


集成方式

SosoApi摈弃直接在服务端代码嵌入方式,推荐编辑json文档。 不过,将编辑方式变更为表单提交方式,用户只要动动鼠标,敲敲几个关键字就可以输出一个接口, 方便快捷,而且无需学习SwaggerUI相关的json格式,上手简单,减少学习成本。

 
用户体验
        SosoApi支持自定义json格式,可以随意的输入自定义的json,再也不用受到原来文档格式的约束。

6、扩展版SwaggerUI新增了哪些功能?


  • 请求参数数据类型新增"自定义",允许用户直接输入相关的json格式数据
  • 响应数据类型新增"自定义",允许用户直接输入相关的json格式数据
  • 国际化支持
  • bug修复

http://www.sosoapi.com/pass/faq/swagger.htm

SwaggerUI--SosoApi的更多相关文章

  1. ABP教程-给项目添加SwaggerUI,生成动态webapi

    上一篇,我们是正式将ABP生成的代码项目,跑起来了,然后演示了下多租户的不同.那么这篇我们就来实现下SwaggerUI. Q:SwaggerUI是干什么的呢? A:他是一个能将我们的webapi,通过 ...

  2. springboot中swaggerUI的使用

    demo地址:demo-swagger-springboot springboot中swaggerUI的使用 1.pom文件中添加swagger依赖 2.从github项目中下载swaggerUI 然 ...

  3. Web Api 多项目文档生成之SwaggerUI

    SwaggerUI 可以生成不错的文档,但默认只能作用于单个api 项目,研究了一下源码发现只需修改一下SwaggerConfig.cs文件即可支持多API项目 1.使用生成脚本把xml文件复制到AP ...

  4. [goa]golang微服务框架学习(三)-- 使用swagger-ui展示API

    既然goa框架自动生成啦swagger-json文件,那么如何用swagger-ui展示出来呢? 这里分三步: 1.下载swagger-ui的web代码 2.添加swagger.json 和 swag ...

  5. Swagger-UI 基于REST的API测试/文档类插件

    现在多数的项目开发中,网站和移动端都需要进行数据交互和对接,这少不了使用REST编写API接口这种场景.例如我目前的工作,移动端交由了另一团队开发,不同开发小组之间就需要以规范和文档作为标准和协作基础 ...

  6. 在Web API中使用Swagger-UI开源组件(一个深坑的解决)

    介绍: Swagger-Ui是一个非常棒的Web API说明帮助页,具体详情可自行Google和百度. 官网:http://swagger.io/    GitHub地址:https://github ...

  7. Restful api测试插件Swagger-UI

    现在多数的项目开发中,网站和移动端都需要进行数据交互和对接,这少不了使用REST编写API接口这种场景.例如我目前的工作,移动端交由了另一团队开发,不同开发小组之间就需要以规范和文档作为标准和协作基础 ...

  8. restful Api 风格契约设计器:Swagger-editor和swagger-ui的应用

    swagger-editor的安装 swagger-editor应用的yaml语法,有定义变量和数据结构,不明白可以参考其示例 安装步骤: 下载swagger-editor git地址 运行npm r ...

  9. SwaggerUI ASP.Net WebAPI2

    目前在用ASP.NET的 WebAPI2来做后台接口开发,在与前台做测试的时候,总是需要发送一个demo给他,但是这样很麻烦的,他还有可能记不住. 然后就想到SwaggerUI 生成测试文档. 话不多 ...

  10. SpringBoot + SwaggerUI

    后台写接口,由于要提供接口文档给前台使用,所有研究了一下swagger,看到网上有篇文章写得不错,就直接拿过来了. swagger用于定义API文档. 好处: 前后端分离开发 API文档非常明确 测试 ...

随机推荐

  1. OpenGL下多个sampler在shader中的使用

    在OpenGL中,sampler2D/Cube等做为uniform可以在fragment shader中使用.结合glActiveTexture和glUniform1i,实现texture与sampl ...

  2. obj-c编程12:复制对象

    好吧,上一篇我怎么也没想到会写那么多字那么少的代码,希望这一篇不会如此哦. 言归正传,对象的复制分为浅复制和深复制,前者只是复制对象的引用,当原对象的内容发生变化时,复制对象的内容也会发生变化,毕竟他 ...

  3. jQuery结合lhgdialog弹出窗口,关闭时出现没有权限错误

    背景: 最近的项目,使用JQuery+lhgdialog窗口组件方式模拟弹窗,在关闭lhgdialog窗口时,出现以下错误: >jQuery没有权限 >调试时 w.readyState没有 ...

  4. Eclipse配置SpringBoot

    从这一博客开始学习SpringBoot,今天学习Eclipse配置SpringBoot.Eclipse导入SpringBoot有两种方式,一种是在线一个是离线方式. 一.在线安装 点击Eclipse中 ...

  5. 关于windows修改远程登录端口的问题

    windows远程桌面默认使用的是3389,为了避免被别用用心的扫描从而暴力破解远程服务器或者vps的账户信息.可以修改默认端口3389到其它端口,如8000,10000等.最好修改为10000以后的 ...

  6. MySql foreach属性

    foreach属性 属性 描述 item 循环体中的具体对象.支持属性的点路径访问,如item.age,item.info.details.具体说明:在list和数组中是其中的对象,在map中是val ...

  7. COSO企业风险管理框架2017版发布!看看有哪些变化?

    近期,COSO发布了新版(2017版)的企业风险管理框架:<企业风险管理—与战略和业绩的整合>.相较于2004年发布的上一版框架<企业风险管理—整合框架>,新框架强调了制定战略 ...

  8. Postgresql 启动could not create listen socket for "localhost"错误的解决

    新装的postgresql在第一次启动时可能会遇到错误,日志中的记录是: could not create listen socket for "localhost" 到/etc/ ...

  9. 使用Glide以及OkHttp集成

    1.glide的使用: 添加依赖: compile 'com.github.bumptech.glide:glide:3.7.0' 调用代码: ImageView imageView = (Image ...

  10. nginx基本配置参数说明

    #运行用户 user nobody; #启动进程,通常设置成和cpu的数量相等 worker_processes 1; #全局错误日志及PID文件 #error_log logs/error.log; ...