在自定生成api文档方面以前都是使用swagger.json结合swagger工具来生成文档,偶然发现了apidoc这个生成api的工具,发现使用起来比swagger更加简单,下面整理一下使用过程:

1、安装

首先通过npm全局安装apidoc

$ npm install apidoc -g

2、使用

使用的时候最主要是参考官方文档 ,apidoc文档,文档中清晰的记录了怎么使用的过程,最好也要看一下apidoc的github地址,从哪里你可以看到一个简单的example,

下面就是利用github上apidoc的example来作为实例,example的结构如下:

weifandeMacBook-Pro:example weifan$ ls
_apidoc.js apidoc.json example.js footer.md header.md

3、生成api文档

首先我们在执行apidoc命令的目录下,新建一个apiDocs文件,命令如下:

mkdir apiDocs

然后执行生成api文档命令,如下:

$ apidoc -i example/ -o apiDocs/

其中apidoc 参数如下:

    • -i
      读取用于生成文档的目录,比如src目录
    • -o
      生成api文档静态页面的目录
    • -t
      自定义的模板目录,默认使用apiDoc的模板
    • -f “.*\.java$”
      解析符合正则表达式的文件
    • -h
      显示帮助信息

在你运行上面命令的时候如果example文件夹下没有apidoc.json这个文件,则会出现一下警告信息:

warn: Please create an apidoc.json configuration file.
info: Done.

说明你没有配置生成api的配置文件(如果没有其实也是可以生成的只不过是默认格式)。

此时你会看到apiDocs文件夹下回有生成的index.html文件,在浏览器中运行这个文件,你就会看到你生成的api文档了。

5、配置 apidoc.json

在执行 apidoc 命令的目录执行创建apidoc.json文件,并加入以下内容:

{
"name": "apidoc-example",
"version": "0.3.0",
"description": "apidoc example project",
"title": "Custom apiDoc browser title",
"url" : "https://api.github.com/v1",
"sampleUrl": "https://api.github.com/v1",
"header": {
"title": "My own header title",
"filename": "header.md"
},
"footer": {
"title": "My own footer title",
"filename": "footer.md"
},
"template": {
"withCompare": true,
"withGenerator": true
}
}
    • name
      文档内容的最大标题
    • version
      文档的版本号,一般保持在最新
    • description
      文档的描述
    • title
      显示网页的title
    • url
      每个api地址前缀
    • sampleUrl
      请求示例工具的地址前缀,当有此项时,会出现该工具
    • header/footer
      文档的头部和尾部
      • title
        头/尾部标题
      • filename
        头部markdown文件
    • template
      • withCompare
        自动生成版本比较功能的文件,默认 true
      • withGenerator
        生成默认的apidoc版权,默认 true

6、apiDoc 注解

下面是apidoc的注解,最主要还是要参照官方文档。

  • @api {method} path [title]
    method 请求方式: get/post/put…
    path User/register
    title 标题
  • @apiDescription text
    api描述
  • @apiError [(group)] [{type}] field [description]
  • @apiErrorExample [{type}] [title]
    example
  • @apiExample [{type}] title
    example
  • @apiGroup name
  • @apiHeader [(group)] [{type}] [field=defaultValue] [description]
  • @apiHeaderExample [{type}] [title]
    example
  • @apiIgnore [hint]
  • @apiName name
  • @apiParam [(group)] [{type}] [field=defaultValue] [description]
  • @apiParamExample [{type}] [title]
    example
  • @apiPermission name
  • @apiSampleRequest url
  • @apiSuccess [(group)] [{type}] field [description]
  • @apiSuccessExample [{type}] [title]
    example
  • @apiUse name
  • @apiVersion version

问题

  1. 无法生成带有历史版本比较功能
    必须同时加上 @apiVersion @apiName @apiGroup 这个三个注解
  2. @apiName后面不要使用中文介绍,必须要使用英文,不然这个api可能会被隐藏。详见:https://github.com/apidoc/apidoc/issues/431
  3. 最好不要包含一些特殊字符,特殊字符可能会导致编译有问题

参考

官方文档: http://apidocjs.com
官方示例: https://github.com/apidoc/apidoc/tree/master/example

 
 

apiDoc自动生成api文档的更多相关文章

  1. 使用bee自动生成api文档

    beego中的bee工具可以方便的自动生成api文档,基于数据库字段,自动生成golang版基于beego的crud代码,方法如下: 1.进入到gopath目录的src下执行命令: bee api a ...

  2. 自动生成api文档

    vs2010代码注释自动生成api文档 最近做了一些接口,提供其他人调用,要写个api文档,可是我想代码注释已经写了说明,能不能直接把代码注释生成api?于是找到以下方法 环境:vs2010 先下载安 ...

  3. 试试使用 eolinker 扫描 GitLab 代码注释自动生成 API 文档?

    前言: 一般写完代码之后,还要将各类参数注解写入API文档,方便后续进行对接和测试,这个过程通常都很麻烦,如果有工具可以读取代码注释直接生成API文档的话,那会十分方便. 此前一直都是在使用eolin ...

  4. SpringBoot结合Swagger2自动生成api文档

    首先在pom.xml中添加如下依赖,其它web,lombok等依赖自行添加 <dependency> <groupId>io.springfox</groupId> ...

  5. Spring Boot 项目学习 (四) Spring Boot整合Swagger2自动生成API文档

    0 引言 在做服务端开发的时候,难免会涉及到API 接口文档的编写,可以经历过手写API 文档的过程,就会发现,一个自动生成API文档可以提高多少的效率. 以下列举几个手写API 文档的痛点: 文档需 ...

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

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

  7. Django restful framework中自动生成API文档

    自动生成api文档(不管是函数视图还是类视图都能显示) 1.安装rest_framework_swagger库 pip install django-rest-swagger 2.在项目下的 urls ...

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

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

  9. 【转】Django restful framework中自动生成API文档

    转自 https://www.cnblogs.com/sui776265233/p/11350434.html 自动生成api文档(不管是函数视图还是类视图都能显示) 1.安装rest_framewo ...

随机推荐

  1. linux高精度struct timespec 和 struct timeval

    一.struct timespec 定义: typedef long time_t;#ifndef _TIMESPEC#define _TIMESPECstruct timespec {time_t ...

  2. Got fatal error 1236 from master when reading data from binary log: 'Could not find first log file name in binary log index file'系列三:重置主从同步

    1:停止slave服务器的主从同步 stop slave; 2:对Master数据库加锁 flush tables with read lock; 3:备份Master上的数据 mysqldump - ...

  3. Java通过join方法来暂停当前线程

    目标线程的join方法暂停当前线程,直到目前线程完成(从run()方法返回). Java代码: package Threads; import java.io.IOException; /** * C ...

  4. 【DB2】清理日志文件db2diag.log

    在数据库运行过程中,会产生很多的日志,进而使日志文件db2diag.log变大 当占用磁盘空间太大的时候,应该怎么处理呢? 方法一: db2inst1@Linux:/db2home/db2inst1/ ...

  5. django之创建第4个项目编写第一个动态模板文件

    修改的地方: 1.index.html <!DOCTYPE html> <html lang="en"> <head> <meta cha ...

  6. python之模块colorsys颜色转换模块 暂不了解

    # -*- coding: utf-8 -*- #python 27 #xiaodeng #python之模块colorsys #颜色转换模块 #colorsys import colorsys 针对 ...

  7. Libevent官方代码样例学习(一)

    在Ubuntu16.04中, libevent的默认安装位置为 #在 trusty 发行版中 amd64 硬件架构下的 libevent- 软件包文件清单 /usr/lib/x86_64-linux- ...

  8. rac安装_grid安装校验报错之grid未建立信任关系

    原创作品,出自 "深蓝的blog" 博客,欢迎转载,转载时请务必注明下面出处,否则追究版权法律责任. 深蓝的blog:http://blog.csdn.net/huangyanlo ...

  9. 《数字图像处理原理与实践(MATLAB版)》一书之代码Part5

    <数字图像处理原理与实践(MATLAB版)>一书之代码Part5 本文系<数字图像处理原理与实践(MATLAB版)>一书之代码系列的Part5.辑录该书第225至第280页之代 ...

  10. OSS设置CORS规则以后还是报No 'Access-Control-Allow-Origin'解决方法

    OSS设置CORS规则以后还是报No 'Access-Control-Allow-Origin'解决方法 在OSS控制台设置了CORS规则以后,通过JS程序去调用的时候报No 'Access-Cont ...