来源:http://blog.csdn.net/xumin198908/article/details/41964159

在开发后台接口的过程中,我们肯定要提供一份api接口文档给终端app。

目前大多数的app的接口请求应该都是http+json的方式。 但是一直苦于做不出份漂亮的api文档,用word写,也太丑了。。怎么才能做出一份像腾讯、新浪微博等各种开放api平台那样漂亮的api文档呢?找了好久发现了今天的主角-apidoc。

官网地址:http://apidocjs.com

开放API已经成为当下主流平台的一个要素,特别对于社交、电商类的平台开放API更成为了竞争力的一种。开放API文档的完整性、可阅读性往往影响着接入方是否能顺利地、快速地接入到平台,一份好的、统一的API文档也是开放平台不可或缺的要素。

apidoc是通过源码中的注释来生成API文档,所以只要识别兼容现今大部分流行语言的注释方法便达到了兼容语言的效果。

有了它,我们只需要在写源码的时候顺手写上一些简单的注释,就可以生成出漂亮的文档了(当然,有同学会问文档不是先定义的吗?你把接口的源码声明好不就ok啦?或者你写点其他的语言也行啊。。  最简单的就是学习下javascript,只要学会怎么创建js文件,然后怎么声明function,给function添加注释即可,实在写不了源码,写一个简单的js文件,然后用apidoc生成一下就出文档了。)。

它可以对API的各种版本等级进行对比。所以无论是前端开发人员还是你都可以追溯API版本的变化。

支持多种语言:C#,
Go, Dart, Java, JavaScript, PHP, TypeScript (all DocStyle capable languages),CoffeeScript,Erlang,Perl,Python,Ruby。

使用步骤:

1.安装nodejs。去http://www.nodejs.org/下载安装一个nodejs;

2.安装apidoc:命令行输入:npm install apidoc -g    貌似是在线安装的,稍等一下即可。

3. 准备一个目录myapp,下面放源码文件,源码文件中要按照apidoc的规范写好注释。具体规范参见官网,我这里就不翻译了。

例如我写java的源码:

/**
* 此接口不要去实现,仅作为输出api文档用的
* @author xumin
*
*/
@Deprecated
public interface ApiDoc {
/**
*
* @api {get} /company/list 获取公司信息
* @apiName 获取公司列表
* @apiGroup All
* @apiVersion 0.1.0
* @apiDescription 接口详细描述
*
* @apiParam {int} pageNum分页大小
*
* @apiSuccess {String} code 结果码
* @apiSuccess {String} msg 消息说明
* @apiSuccess {Object} data 分页数据封装
* @apiSuccess {int} data.count 总记录数
* @apiSuccess {Object[]} data.list 分页数据对象数组
* @apiSuccessExample Success-Response:
* HTTP/1.1 200 OK
* {
* code:0,
* msg:'success',
* data:{}
* }
*
* @apiError All 对应<code>id</code>的用户没找到 asdfasdf
* @apiErrorExample {json} Error-Response:
* HTTP/1.1 404 Not Found
* {
* code:1,
* msg:'user not found',
* }
*
* @param param
* @return
* @throws Exception
*/
void a();
}

4. 生成api文档。

apidoc -i myapp/ -o apidoc/ -t mytemplate/

myapp是当前工作目录下的源码目录

apidoc是用于存放生成出的文档文件的目录

mytemplate是自定义模板文件夹,刚开始用,可以不指定,后面有需要了再研究怎么自定义模板吧。

如果看到“success: Done.”说明生成成功 ,到 apidoc目录下打开index.html查看生成的文档.

大功告成!

webApi文档好帮手-apidoc使用教程的更多相关文章

  1. Taurus.MVC WebAPI 入门开发教程8:WebAPI文档与自动化测试。

    系列目录 1.Taurus.MVC WebAPI  入门开发教程1:框架下载环境配置与运行. 2.Taurus.MVC WebAPI 入门开发教程2:添加控制器输出Hello World. 3.Tau ...

  2. ASP.NET WebApi 文档Swagger深度优化

    本文版权归博客园和作者吴双本人共同所有,转载和爬虫请注明博客园蜗牛原文地址,cnblogs.com/tdws   写在前面 请原谅我这个标题党,写到了第100篇随笔,说是深度优化,其实也并没有什么深度 ...

  3. ASP.NET WebApi 文档Swagger中度优化

    本文版权归博客园和作者吴双本人共同所有,转载和爬虫请注明原文地址:www.cnblogs.com/tdws   写在前面 在后台接口开发中,接口文档是必不可少的.在复杂的业务当中和多人对接的情况下,简 ...

  4. webapi文档

    webapi文档描述-swagger 最近做的项目使用mvc+webapi,采取前后端分离的方式,后台提供API接口给前端开发人员.这个过程中遇到一个问题后台开发人员怎么提供接口说明文档给前端开发人员 ...

  5. Webapi文档描述-swagger优化

    一.前言 最近做的项目使用WebApi,采取前后端分离的方式,后台提供API接口给前端开发人员.这个过程中遇到一个问题后台开发人员怎么提供接口说明文档给前端开发人员,最初打算使用word.Xmind思 ...

  6. Taurus.MVC 2.3 开源发布:增强属性Require验证功能,自带WebAPI文档生成功能

    背景: 上周,把 Taurus.MVC 在 Linux (CentOS7) 上部署任务完成后. 也不知怎么的,忽然就想给框架集成一下WebAPI文档功能,所以就动手了. 以为一天能搞完,结果,好几天过 ...

  7. 使用Swagger 搭建高可读性ASP.Net WebApi文档

    一.前言 在最近一个商城项目中,使用WebApi搭建API项目.但开发过程中,前后端工程师对于沟通接口的使用,是非常耗时的.之前也有用过Swagger构建WebApi文档,但是API文档的可读性并不高 ...

  8. WebApi 文档Swagger

    NET WebApi 文档Swagger中度优化   本文版权归博客园和作者吴双本人共同所有,转载和爬虫请注明原文地址:www.cnblogs.com/tdws   写在前面 在后台接口开发中,接口文 ...

  9. PCB DotNetCore Swagger生成WebAPI文档配置方法

    在.net framework框架下可以使用WebApiTestClientWebApi生成WebAPI接口文档与方便接口测试用,而在DotnetCore却没有找到这个工具了,baidu查找一下发现有 ...

随机推荐

  1. [转载]NoSQL by Martin Flower

    ============================================================== URL1 nosql ========================== ...

  2. POJ 3461 裸的KMP

    直接贴代码吧 #include<cstdio> #include<cstring> ],T[]; ]; int n,m; void getfail() { f[] = ; f[ ...

  3. squid代理服务器搭建及配置

    系统环境:CentOS release 6.5 (Final)(最小化安装) 一.安装squid # yum -y install squid 二.编辑配置文件(正向代理) # vim /etc/sq ...

  4. Codeforces Round #131 (Div. 2)

    A. System of Equations \(a\)的范围在\(\sqrt n\)内,所以暴力枚举即可. B. Hometask 需要被2.5整除,所以末位必然为0,如果0没有出现,则直接返回-1 ...

  5. HDU5889 Barricade(最短路)(网络流)

    Barricade Time Limit: 3000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others)Total S ...

  6. phpwind数据同步本地后登陆异常

    在讲数据同步到本地之后,发现输入用户名和密码之后点击登陆,依然会返回到之前的页面,并且显示的还是未登录的状态. 解决办法:在后台中将:站点设置--cookie作用域留空即可.

  7. Windows && Linux 双系统

    使用软件 EasyBCD 添加新条目--->NeoGrub--->安装--->配置 在弹出的文本中输入如下东西: title Install Backbox root (hd0,0) ...

  8. Amazon-countDuplicate

    Print the count of duplicate char in a given string in same order. Ex: Input- 'abbaccdbac', Output- ...

  9. objective-c new关键字

    xxx *a = [xxx new] 等价于 xxx *a = [[xxx alloc]init] ,但如果类的构造函数带参数就不能使用new了. 练习了下<Objective-C 基础教程&g ...

  10. (转)Monte Carlo method 蒙特卡洛方法

    转载自:维基百科  蒙特卡洛方法 https://zh.wikipedia.org/wiki/%E8%92%99%E5%9C%B0%E5%8D%A1%E7%BE%85%E6%96%B9%E6%B3%9 ...