Mirren-Swagger-API-Manager

API 接口文档管理器
授权协议 MIT
开发语言 Java
所属分类 开发工具、 程序文档工具
软件类型 开源软件
地区 国产
投 递 者 陈畅
操作系统 跨平台
开源组织
适用人群 未知
 软件概览

MSAM是一个API接口文档管理器,MSAM的属性根据swagger-models-1.5.20.jar进行定义并添加了拓展属性

MSAM以项目-接口分组-接口三个单位,项目最终生成的结果理论上兼容Swagger的Swagger UI

不过MSAM也有一个属于自己的Client-UI,可以方便的查看检索接口文档

一些疑问

  • 问:为什么有Swagger了还要这个东西?

  • 答:因为大多前后端分离的公司基本都跟本人公司一样,先接口文档然后才有项目;而Swagger是用注解现有的项目生产接口,如果用Swagger Editor写又觉得不方便管理,所以就有了这个东西

  • 问:为什么已经有了Swagger UI了还要搞一个MSAM Client-UI?

  • 答:本人不喜欢Swagger UI的风格,本人的同事看Client-UI的风格已经很久了

  • 问:市面上已经有接口文档管理了(比如阿里的RAP等)为什么你还要自己写

  • 答:本人蛋疼

项目的结构

  • 项目的后台采用了大部分人熟悉的SpringBoot写(其实本人与公司已经用Vert.x一年多了,不是很喜欢Spring),

  • 文件存储使用JDBC操作Sqlite3数据库

  • Server-UI用于管理接口文档(Bootstrap)

  • Client-UI用于展示接口文档(Bootstrap Docs)

项目如何运行

  • 运行环境要求,开发环境为java 1.8.0_121,理论上java1.8以上都可以运行,如果没有java运行环境,可以看使用说明里面的免JDK教程

  • 项目可以在releases(发行版)里面下载已经打包好的也可以自己打包项目

  • 执行 mvn clean package 进行项目打包

  • 执行完毕后 进入target/MSAM目录,该目录包含了Client-UI(展示接口文档的UI),Server-UI(管理接口的UI),config(存放接口文档的Sqlite,旧版升级可以将旧版的数据拷贝到新版中),Mirren-Swagger-API-Manager-x.x.x.jar

  • 在MSAM目录中执行java -jar Mirren-Swagger-API-Manager-x.x.x.jar 启动MSAM服务,端口号默认为8686(可以自己修改,Server-UI端口的修改在js/common.js中)

  • 进入Server-UI在浏览器中打开index.html便可以进行接口管理

  • 进入Client-UI在浏览器中打开index.html在顶部的输入接口文件的Json地址,或者选择本地的Json文件进行加载接口

拓展与二次开发

数据库里面定义了项目,接口分组,以及接口三张表,属性对应Swagger的Swagger,Tags,Operation这三个类,前端操作需要将Json类型转换为String类型

使用说明

  • 第一步启动Mirren-Swagger-API-Manager.jar(start.bat / start.sh)

  • 第二步访问Server-UI-index.html

  • 第三步新建项目,输入项目信息后确定创建项目

  • 第四步在项目列表中点击项目

  • 第五步新建接口

  • 第六步新建接口

  • 第七步在项目信息中选择将项目转为Swagger_2.0 .Json文件并下载或在线查看获得文件路径

  • 第八步访问Client-UI-index.html

  • 第九步打开保存的文件,或者输入文件路径加载数据

界面展示

Server-UI

Server-UI

Client-UI

Client-UI Client-UI

  • 常用到的注解有: Api ApiModel ApiModelProperty ApiOperation ApiParam ApiResponse ApiResponses ResponseHeader 1. api标记 Api 用在类上,说明该类的作用。可以标记一个Controller类做为swagger 文档资源,使用方式: @Api(value = "/user", description =

  •         在当前敏捷开发的背景下,拿到需求文档后,正常情况线下都是接口先行原则,都希望最低的成本更快的实现相应的功能。于是就有了很多的的敏捷开发工具应运而生。最常用的有swagger,postman,Jmeter,mockjs,Apifox等。。。 昨天介绍了一下Apifox,今天给大家分享一下我理解的swagger吧!!! swagger:         Swagger是一款Restfu

  • 1、安装Swagger插件 访问地址: http://localhost:8080/fsoa.usermanager.web/swagger-ui.html#/ 2、Controller层(参考) package com.foriseland.open.controll; import java.util.List; import javax.servlet.http.HttpServletRes

  • 01.swagger 01.初步swagger 01.初步swagger API详细说明 注释汇总 作用范围 API 使用位置 对象属性 @ApiModelProperty 用在出入参数对象的字段上 协议集描述 @Api 用于controller类上 协议描述 @ApiOperation 用在controller的方法上 Response集 @ApiResponses 用在controller的方

  • Swagger RESTful API文档规范 *注意编写的关键词:“必须”、“不能”、“需要”、“应当”,“不得”、“应该”、“不应该”,“推荐”、“可能”和“可选的” 原文链接:http://swagger.io/specification/ 介绍:     swagger是一个用于描述项目和文档RESTful api。      这里的规范定义了一组描述一个API所需的文件格式。 Swagg

  • 添加swagger <!-- 添加swagger2 -->         <dependency>             <groupId>io.springfox</groupId>             <artifactId>springfox-swagger2</artifactId>             <version>2.7.0</version>         </de

  • Swagger总结 Swagger定义及为何使用 定义 Swagger 是一个规范和完整的框架,用于生成、描述、调用和可视化 RESTful 风格的 Web 服务 目标 总体目标是使客户端和文件系统作为服务器以同样的速度来更新。文件的方法,参数和模型紧密集成到服务器端的代码,允许API来始终保持同步。 Swagger... 文章 肮脏小镇 2019-01-11 962浏览量 API 设计: RAM

  • 一、添加maven依赖 <dependency> <groupId>io.springfox</groupId> <artifactId>springfox-boot-starter</artifactId> <version>3.0.0</version> </dependency> 二、自

  • 访问:http://localhost:8088/swagger-ui.html#/ pom文件引入依赖 <dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger2</artifactId> <version>2.9.2</version> </dependency> <depend

  • Swagger能成为最受欢迎的REST APIs文档生成工具之一,有以下几个原因: Swagger 可以生成一个具有互动性的API控制台,开发者可以用来快速学习和尝试API。 Swagger 可以生成客户端SDK代码用于各种不同的平台上的实现。 Swagger 文件可以在许多不同的平台上从代码注释中自动生成。 Swagger 有一个强大的社区,里面有许多强悍的贡献者。 下面开始配置教程 文件:ht

  • SwaggerConfig @Configuration//该类为配置类 public class SwaggerConfig { @Bean//swagger所有的类都封装到Docket中 public Docket docket(){ Docket docket = new Docket(DocumentationType.SWAGGER_2)

 相关资料
  • 更改历史 * 2018-02-13 邢足健 无过滤条件时,省略filters传参,修改下划线格式字段为驼峰 * 2018-03-06 邢足健 添加批量创建与批量删除接口 * 2018-03-19 管鹏波 基于filters增加或的查询 1.查询接口 * /tables 获取列表,接口名为表名的复数形式 @param pageNo 整数,如1

  • 滴滴出行企业管理API为企业客户提供员工用车相关管理接口。包括员工管理、用车管理、发票管理、成本中心等。企业客户可以通过管理API实现企业管理后台与滴滴出行后台的无缝对接。

  • Bilibili API (For thrid-party) Documents 哔哩哔哩开放接口第三方文档,通过这个接口我们可以开发出很多基于网站的功能。

  • 通知接口API文档 接口地址: https://activity.m.duiba.com.cn/confirm/confirm? 使用情景: 兑吧发起虚拟商品充值请求时,没有收到开发者响应或响应"process"时,则订单状态一直为处理中,等待开发者通知响应。 使用说明: 兑吧发起虚拟商品充值请求时,没有收到开发者响应时,兑吧一直等待开发者回调通知。 若超过5分钟未收到通知,则进入异常超时订单列表

  • 充值接口API文档 接口定义 用户下单之后,兑吧会通过该接口向开发者发起一个虚拟商品的充值请求,开发者需在收到请求后处理该订单,为用户充值。 接口参数说明 输入参数(Get请求方式传参) 签名规则可参考文档MD5签名规则。对接过程中出现签名问题可通过签名排查工具进行自排查,其他问题,可参考文档 常见问题 处理 参数 是否必须 参数类型 限制长度 参数说明 appKey yes string 255

  • 我谷歌了一下,但是所有关于昂首阔步留档的例子都使用了类。我想包括接口,因为读者感兴趣的是API而不是实现。 这是我的密码: 包括所需的maven依赖项: 我的SpringBoot应用程序: 我的RestController接口 和实施 这一切都由所需的昂首阔步配置支持: 该代码可作为maven项目在https://github.com/MKhotele/spring-examples/tree/m