• 在项目中,需要协同开发,所以会写许多API文档给其他同事,以前都是写一个简单的TXT文本或Word文档,口口相传,这种方式比较老土了,所以,需要有个api管理系统专门来管理这些api,从网上找了许多比较好的开源文档管理系统,可以应用到项目中。

    1、国外的话Swagger
    swagger-ui

    2、国内的Showdoc
    国内开源的非常好用的一款API文档管理系统,安装也非常方便,只需将源代码放到项目目录下自动安装运行即可,不要要注意PHP版本必须大于5.3.

    3、界面简洁功能强大的EOAPI

    4、阿里的RAP
    Web API management, free and open sourced, mock data generator, auto test, made by Alibaba, using by 1000+ corporations! Web接口管理工具,开源免费,接口自动化,MOCK数据自动生成,自动化测试,企业级管理。阿里妈妈MUX团队出品!阿里巴巴都在用!1000+公司的选择!一直被抄袭,从未被超越 :3 http://rapapi.net

    5、postMan

    6、docute: 无需编译的文档撰写工具
    像 gitbook 之类的工具需要编译后发布,而 docute 让你直接写 markdown 文件作为文档来显示而不需要编译成 html 这一步,你的文档目录里只需要一个首页 index.html 和你的配置文件 config.js。

    docute 会直接渲染这些 markdown 文件为一个单页应用。配合 github pages 发布到 ./docs 目录效果更佳,当然发布到任何地方都可以。

    docute 的文档: https://docute.js.org/#/zh-Hans/ (基于 Vue)

    Github 项目:https://github.com/egoist/docute

    7、SmartWiki 接口文档在线管理系统

    8、SosoApi
    SosoApi,编辑Swagger UI的神器

    9、CrapApi开源接口管理系统演示地址

    CrapApi:一个由angularjs+bootstrap+springMVC搭建的高性能的免费开源的API接口、文档管理系统(应用接口管理系统)

    GitHub源码地址:https://github.com/EhsanTang/...
    码云源码地址:http://git.oschina.net/CrapAp...

    主要功能:api接口管理、数据字典管理、接口数据模拟、接口文档管理(支持markdown、kindereditor等编辑器)、支持本地部署或在线使用、支持通过建表语句导入数据字典...

    其他功能:项目管理、用户管理、模块管理、接口管理、接口版本管理、接口拷贝、接口文档pdf下载、接口mock、模块加密访问、
    接口在线调试、数据字典管理、数据字典加密访问多管理员、多权限、多角色管理、自定义菜单、自定义网站样式、文档留言、
    错误码管理、接口排序、DOC、PDF、TEXT、EXCEL等资源管理、支持版本号控制、文档内容检索、操作日志记录、
    根据日志恢复数据、markdown编辑器、kindeditor编辑器、angularjs编辑器、Lucene搜索、项目成员管理...

    站点使用地址:http://api2.crap.cn
    效果图:

    10、 TeaKKi
    这个WIKI用来写文档也不错~
    TeaKKi == team wiki, https://teakki.com 超越了wiki, 在wiki基础上支持团队知识协作

    11、Web API文档生成工具apidoc

    这个需要在编辑后生成静态的HTML页面,然后上传到服务器。

    工具名称:apiDoc 
    Git地址:https://github.com/apidoc/apidoc 
    项目地址:http://apidocjs.com/ 
    样例项目:http://apidocjs.com/example_b... 
    apoDoc是从源码的注释中生成RestFul api 文档,样子还是蛮漂亮的……

    使用apidoc 生成Restful web Api文档
    NodeJS、NPM安装配置步骤(windows版本)

    Apidoc安装与使用

    具体步骤:

    Windows安装方法:
    1、官网nodejs.org下载Node

    2、安装

    3、将npm 替换为淘宝镜像cnpm

    C:\Users\Administrator>npm install -g cnpm --registry=https://registry.npm.taobao.org

    4、使用cnpm安装apidoc

    C:\Users\Administrator>cnpm install apidoc -g

    安装的地址:

    [apidoc@0.17.5] link C:\Users\Administrator\AppData\Roaming\npm\apidoc@ -> C:\Users\Administrator\AppData\Roaming\npm\node_modules\apidoc\bin\apidoc
    
    C:\Users\Administrator\AppData\Roaming\npm\node_modules\apidoc

    apidoc 监视文件变动自动生成工具

    监控api_doc.json文件改变,然后自动生成HTML

    watch.js文件,然后node 执行该文件

    /**
    * watch.js
    * Created by lincoln on 16-1-6.
    */
    var gaze = require('gaze');
    var exec = require('child_process').exec;
    var fs = require('fs') function init(){
    fs.mkdirSync('./api');
    fs.mkdirSync('./doc');
    createConfigureFile();
    beginWatch();
    }
    /**
    {
    "name": "测试",
    "version": "0.0.1",
    "description": "API文档测试",
    "title": "API文档测试",
    "url" : "http://121.41.44.218",
    "sampleUrl" : "http://121.41.44.218",
    "template":{
    "forceLanguage":"zh-cn"
    }
    }
    */ function createConfigureFile(){
    var configure = {
    "name": "测试",
    "version": "0.0.1",
    "description": "API文档测试",
    "title": "API文档测试",
    "url" : "http://xxxxxx",
    "sampleUrl" : "http://xxx",
    "template":{
    "forceLanguage":"zh-cn"
    }
    }
    fs.writeFileSync('./api/apidoc.json',JSON.stringify(configure));
    } function beginWatch(){
    gaze('./api/*.*',function(error,watcher){
    this.on('all', function(event, filepath) {
    console.log(filepath + ' was ' + event);
    runGeneartion();
    })
    });
    } function runGeneartion(){
    var com = exec('apidoc -i ./api -o ./doc ')
    com.stdout.on('data', function (data) {
    console.log("生成Api->"+data);
    }); com.stderr.on('data', function (data) {
    console.log('生成错误啦->' + data);
    });
    } if(fs.existsSync('./api') && fs.existsSync('./doc')){
    beginWatch();
    }else{
    init();
    }

    安装gaze包,然后执行watch.js文件:

    ➜  apidoc cnpm install gaze
    [gaze@*] installed at node_modules/.1.1.2@gaze (14 packages, use 2s, speed 54.93kB/s, json 85.75kB, tarball 0B)
    All packages installed (14 packages installed from npm registry, use 2s, speed 54.62kB/s, json 17(85.75kB), tarball 0B)
    ➜ apidoc node watch.js
    /WEB/apidoc/api/apidoc.json was changed
    生成Api->info: Done.

    api参数:

    Usage: C:\Program Files\nodejs\node.exe apidoc [options]
    
    Options:
    -f, --file-filters RegEx-Filter to select files that should be parsed (multiple -f can be used)
    -e, --exclude-filters RegEx-Filter to select files / dirs that should not be parsed (many -e can b
    -i, --input Input / source dirname. [./]
    -o, --output Output dirname. [./doc/]
    -t, --template Use template for output files. [C:\Users\Administrator\AppData\Roaming\npm\
    -c, --config Path to directory containing config file (apidoc.json) [./]
    -p, --private Include private APIs in output. [false]
    -v, --verbose Verbose debug output. [false]
    -h, --help Show this help information.
    --debug Show debug messages. [false]
    --color Turn off log color. [true]
    --parse Parse only the files and return the data, no file creation. [false]
    --parse-filters Optional user defined filters. Format name=filename
    --parse-languages Optional user defined languages. Format name=filename
    --parse-parsers Optional user defined parsers. Format name=filename
    --parse-workers Optional user defined workers. Format name=filename
    --silent Turn all output off. [false]
    --simulate Execute but not write any file. [false]
    --markdown Turn off default markdown parser or set a file to a custom parser. [true]
    --line-ending Turn off autodetect line-ending. Allowed values: LF, CR, CRLF.
    --encoding Set the encoding of the source code. [utf8]. [utf8]

    执行生成文档命令

    D:\code\api_doc>apidoc -i example/ -o doc/
    info: Done. D:\POCO\api_doc>

    12、PHP_DOC 实时生成 API 文档
    https://segmentfault.com/a/11...

     
  • 业精于勤荒于嬉,形成思毁于随

开源的api文档管理系统的更多相关文章

  1. Api 文档管理系统 RAP2 环境搭建

    Api 文档管理系统 RAP2 环境搭建  发表于 2018-03-27 |  分类于 Api |  评论数: 4|  阅读次数: 4704  本文字数: 4.8k |  阅读时长 ≍ 9 分钟 RA ...

  2. 再见丑陋的 SwaggerUI,这款开源的API文档生成神器界面更炫酷,逼格更高!

    一般在使用 Spring Boot 开发前后端分离项目的时候,都会用到 Swagger.Swagger 是一个规范和完整的框架,用于生成.描述.调试和可视化 RESTful 风格的 Web API 服 ...

  3. 开源的API文档工具框架——Swagger简介

    初次接触Swagger是在2017年5月,当时公司正好要对整套系统架构进行重新设计,有同事推荐用这个技术框架来规范后台接口的API文档.当时因为架构重构,涉及改造的技术点太多,一时也就没太多精力,把S ...

  4. 【转载】Java Restful API 文档生成工具 smart-doc

    谁说生成api文档就必须要定义注解? 谁说生成接口请求和返回示例必须要在线? 用代码去探路,不断尝试更多文档交付的可能性. 如果代码有生命,为什么不换种方式和它对话! 一.背景 没有背景.就自己做自己 ...

  5. 微服务·API文档

    阅文时长 | 3.92分钟 字数统计 | 2754.05字符 主要内容 | 1.什么是API文档 2.API文档的使用 3.声明与参考资料 『微服务·API文档』 编写人 | SCscHero 编写时 ...

  6. 开源文档管理系统LogicalDOC测试报告---安装篇

    开源文档管理系统LogicalDOC测试报告---安装篇 分类: Linux2011-06-22 15:40 7436人阅读 评论(3) 收藏 举报 文档管理测试mysql数据库installerja ...

  7. 【开源】AspnetCore 2.0 自动API文档生成组件,支持protobuffer

    本文地址 http://www.cnblogs.com/likeli/p/8204054.html 关于 API文档自动生成,用于对APP端的开发帮助文档生成,默认ProtoBuffer传输格式. 本 ...

  8. .NET开源项目 QuarkDoc 一款自带极简主义属性的文档管理系统

    有些话说在前头 因为公司产品业务重构且功能拆分组件化,往后会有很多的接口文档需要留存,所以急需一款文档管理系统.当时选型要求3点: 1.不能是云平台上的Saas服务,整个系统都要在自己公司部署维护(数 ...

  9. api的mock开源工具;api文档生成器;api的mock工具;阿里系;其他开源

    django-rest-framework,即drf的api文档,包括自带的文档和其他三方文档,比如swagger.DRF Docs等 https://www.django-rest-framewor ...

随机推荐

  1. 9-Unittest+HTMLTestRunner不能生成报告解决方法

    1.问题现象 在使用HTMLTestRunner生成测试报告时,出现程序运行不报错,但不能生成报告的情况. 刚开始找了很久没发现问题,后来加上打印信息,发现根本没执行生成报告这部分代码.最后网上找到原 ...

  2. 我的C++ 学习心得

    创建这个博客已经是我大一下学期的暑假了,这一年里,我学习了人生第一门编程语言C++ . C++是一门当前仍然活跃于开发前沿的编程语言.在还未开始正式学习它时,早就听到我们的学长抱怨C++难学.起初,我 ...

  3. ASP.NET Core - Razor 页面介绍

    简介 随着ASP.NET Core 2 即将来临,最热门的新事物是Razor页面.在之前的一篇文章中,我们简要介绍了ASP.NET Core Razor 页面. Razor页面是ASP.NET Cor ...

  4. 微信团队分享:Kotlin渐被认可,Android版微信的技术尝鲜之旅

    本文由微信开发团队工程是由“oneliang”原创发表于WeMobileDev公众号,内容稍有改动. 1.引言   Kotlin 是一个用于现代多平台应用的静态编程语言,由 JetBrains 开发( ...

  5. IM群聊消息的已读回执功能该怎么实现?

    本文引用了架构师之路公众号作者沈剑的文章,内容有改动,感谢原作者. 1.前言 我们平时在使用即时通讯应用时候,每当发出一条聊天消息,都希望对方尽快看到,并尽快回复,但对方到底有没有真的看到?我却并不知 ...

  6. HTML5之日历控件

    HTML5定义了几个与日期有关的新控件.支持日期控件的浏览器会提供一个方便的下拉式日历,供用户选择. 以下测试和截图都是在谷歌浏览器完成的,其他浏览器可能略有差异. 1.日期时间控件 HTML代码: ...

  7. supervisor 启动dotnet.core 报“ too many start retries too quickly”

    环境: 操作系统:Centos 7 dotnet core:2.0.0    2.1.3 问题: 在使用supervisor 配置守护进程时,启动dotnet.core程序失败,查看/tmp下supe ...

  8. Oracle客户端连接数据库配置

    配置文件和路径 配置文件:tnsnames.ora 默认路径:%ORACLE_HOME%\network\admin\tnsnames.ora,%ORACLE_HOME%通常在环境变量中使用. 我的路 ...

  9. 微信小程序自定义navigationBar标题栏

    小程序默认使用的navigationBar只能设置颜色.文字,左侧返回按钮也是不可改变的,若要实现下方效果有解决方案,但是也有一定的问题. 1.更改app.json "window" ...

  10. java中String类为什么不可变?

    在面试中经常遇到这样的问题:1.什么是不可变对象.不可变对象有什么好处.在什么情景下使用它,或者更具体一点,java的String类为什么要设置成不可变类型? 1.不可变对象,顾名思义就是创建后的对象 ...