apidoc安装使用说明

2024-02-23 15:38
文章标签 安装 使用 说明 apidoc

本文主要是介绍apidoc安装使用说明,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

一、apidoc简单介绍

          apidoc根据你源码中的api注解(apidoc自己的注解),创建说明文档,创建出的说明文档为html格式,能够发布出去,apidoc是基于nodejs,代码开源,官网地址,github地址,目前最新提交是2017年5月,貌似已经停止维护,不过整个代码逻辑很简单,适合定制,apidoc基本支持所有语言的文档生成,C#、Java、JavaScript、PHP、Python,具体可参加官方说明

二、apidoc安装

     1.首先查看是否有nodejs环境,node -v ,查看node版本,如果不能执行,需要安装nodejs,nodejs下载地址https://nodejs.org/en/download/,可以根据具体环境选择版本,win可以下载压缩包,解压后,把解压文件夹的根目录配置到path里即可,linux一般都会自带nodejs,如果没有可yum install nodejs -y ,不同的linux版本使用不同的在线安装命令,这里列出CentOS,如果不能在线安装,那就只能自己下了,这里不在赘述

        2.安装完nodejs环境后,会自带npm,npm为nodejs包管理工具,安装apidoc :npm install apidoc -g, 安装完成后,使用apidoc -h,查看是否安装成功

三、apidoc使用

        1.添加apidoc.json

         在项目中创建apidoc.json,位置建议在项目根目录,也可自选,自选位置的话,需要在运行apidoc命令时带上位置参数

apidoc.json内容示例

{"name": "example","version": "0.1.0","description": "apiDoc basic example","title": "Custom apiDoc browser title","url" : "https://api.github.com/v1"
}

各参数含义

参数说明
name项目名称
version项目版本
description项目描述
title浏览器标题
urlapi路径前缀,会自动拼接到@api 路径前,可以设置为空串
sampleUrl如果设置,将显示用于测试api方法(发送请求)的表单。有关详细信息,请参阅@apiSampleRequest。
headerapi文档的头
           title左侧导航栏中显示的文本
           filename内容文件,为md(markdown)格式,可以写前言等项目边角信息
footer与header相同,只不过一个在头,一个在尾,不再赘述
          title 
          filename 
order用于排序的,没有详细研究

  带header示例

{"name": "onsite接口说明文档", "version": "1.0.0","description": "","title": "onsite接口说明文档","url":"","header": {"title": "My own header title","filename": "api-template/header.md"},"footer": {"title": "My own footer title","filename": "api-template/footer.md"}
}

          2.添加api注解

api注解是apidoc自己定义的一套,用于生成文档的注解,注解太多就不一一介绍了,大家可以参考官说明http://apidocjs.com/#param-api,这里仅说明基础使用.

apidoc是按注释块解析注解的,在java中一个注释块形如(以下为两个注解块):

/*** @api {get} /user/{id}  获取用户信息*/
/*** @api {put} /user/{id}  修改用户信息*/

apidoc仅解析含有@api或者@apiDefine的注释块,@apiDefine一个注释块中仅能有一个,@apiDefine可以定义一些通用的内容,比如通用的请求参数,返回值,错误列表等 ;@api 就不用多说了,用来定义一个api,需要注意的是,@apiGroup和@apiName是必须的,@apiGroup定义的是左侧导航,@apiName 会拼接到访问路径中,大家试下就会明白

@apiGroup是不支持中文的,需要和@apiDefine配合使用,例如:

/*** @apiDefine User  用户模块*            */
/*** @api {get} /user/{id} 获取用户信息* @apiGroup User* @apiName Get-user* */

以下为官网一个较为完整的例子

apidoc.json

{"name": "example-inherit","version": "0.1.0","description": "apiDoc inherit example"
}

example.js

/*** @apiDefine UserNotFoundError** @apiError UserNotFound The id of the User was not found.** @apiErrorExample Error-Response:*     HTTP/1.1 404 Not Found*     {*       "error": "UserNotFound"*     }*//*** @api {get} /user/:id Request User information* @apiName GetUser* @apiGroup User** @apiParam {Number} id Users unique ID.** @apiSuccess {String} firstname Firstname of the User.* @apiSuccess {String} lastname  Lastname of the User.** @apiSuccessExample Success-Response:*     HTTP/1.1 200 OK*     {*       "firstname": "John",*       "lastname": "Doe"*     }** @apiUse UserNotFoundError*//*** @api {put} /user/ Modify User information* @apiName PutUser* @apiGroup User** @apiParam {Number} id          Users unique ID.* @apiParam {String} [firstname] Firstname of the User.* @apiParam {String} [lastname]  Lastname of the User.** @apiSuccessExample Success-Response:*     HTTP/1.1 200 OK** @apiUse UserNotFoundError*/

生成文档地址:http://apidocjs.com/example_inherit/#api-User

从例子可以看出,apidoc不在乎你把注释写在哪里,不过还是推荐写在接口所在位置

          3.执行apidoc命令

以上两步完成后,就可以执行apidoc命令生成文档了,打开命令行,切换到项目根目录,执行apidoc -f  "正则"  -i 输入路径  -o  文档输出路径 ,大家可以根据自己情况选取参数,执行apidoc -h 可列出各种参数用法以及默认值

参数说明
-h,--help显示帮助信息
-f,--file-filters正则表达式过滤应该解析的文件(可以使用多个-f)。默认值:.cs .dart .erl .go .java .js .php .py .rb .ts

示例(仅解析.js和.ts文件):
apidoc -f ".*\.js$" -f ".*\.ts$"
 -e, --exclude-filters正则排除不需要解析的文件,可是使用多个
-i, --input项目源码根目录,默认值:./
-o, --output生成文档输出位置,默认值:./doc
-t, --template生成文档使用的模版位置,默认值:%apidoc%\template\,   %apidoc%为apidoc安装根目录
-c, --config配置文件(apidoc.json)的所在位置,默认值:./

四、注意事项

        1.没有参数说明时,apidoc会扫描当前目录以及所有子目录下.cs .dart .erl .go.java .js .php .py .rb .ts结尾的文件,生成api文档到当前目录下doc文件夹中;

       2.apidoc -f后的正则表达式,标准格式".*\.java",eg:apidoc -f ".*\.java" ,必须使用双引号,并且单斜杠\,其他写法都会导致“No files found”;

        3.@apiDefine定义的内容貌似只能作为name参数使用,这个局限太大,api中很多路径前半段都是相同的,想抽象出来一个都不行,以后如果修改,比较麻烦,不知道大家有没有什么高招可以解决

        4.要写注解怎么能没有自动补全呢,java和php自动补全:Java Eclipse ,PHP Eclipse,官方文档说的很清楚了

 

      

这篇关于apidoc安装使用说明的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/739107

相关文章

Linux中压缩、网络传输与系统监控工具的使用完整指南

《Linux中压缩、网络传输与系统监控工具的使用完整指南》在Linux系统管理中,压缩与传输工具是数据备份和远程协作的桥梁,而系统监控工具则是保障服务器稳定运行的眼睛,下面小编就来和大家详细介绍一下它... 目录引言一、压缩与解压:数据存储与传输的优化核心1. zip/unzip:通用压缩格式的便捷操作2.

java中新生代和老生代的关系说明

《java中新生代和老生代的关系说明》:本文主要介绍java中新生代和老生代的关系说明,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、内存区域划分新生代老年代二、对象生命周期与晋升流程三、新生代与老年代的协作机制1. 跨代引用处理2. 动态年龄判定3. 空间分

使用Python实现可恢复式多线程下载器

《使用Python实现可恢复式多线程下载器》在数字时代,大文件下载已成为日常操作,本文将手把手教你用Python打造专业级下载器,实现断点续传,多线程加速,速度限制等功能,感兴趣的小伙伴可以了解下... 目录一、智能续传:从崩溃边缘抢救进度二、多线程加速:榨干网络带宽三、速度控制:做网络的好邻居四、终端交互

Python中注释使用方法举例详解

《Python中注释使用方法举例详解》在Python编程语言中注释是必不可少的一部分,它有助于提高代码的可读性和维护性,:本文主要介绍Python中注释使用方法的相关资料,需要的朋友可以参考下... 目录一、前言二、什么是注释?示例:三、单行注释语法:以 China编程# 开头,后面的内容为注释内容示例:示例:四

Python中win32包的安装及常见用途介绍

《Python中win32包的安装及常见用途介绍》在Windows环境下,PythonWin32模块通常随Python安装包一起安装,:本文主要介绍Python中win32包的安装及常见用途的相关... 目录前言主要组件安装方法常见用途1. 操作Windows注册表2. 操作Windows服务3. 窗口操作

Go语言数据库编程GORM 的基本使用详解

《Go语言数据库编程GORM的基本使用详解》GORM是Go语言流行的ORM框架,封装database/sql,支持自动迁移、关联、事务等,提供CRUD、条件查询、钩子函数、日志等功能,简化数据库操作... 目录一、安装与初始化1. 安装 GORM 及数据库驱动2. 建立数据库连接二、定义模型结构体三、自动迁

MySQL之InnoDB存储引擎中的索引用法及说明

《MySQL之InnoDB存储引擎中的索引用法及说明》:本文主要介绍MySQL之InnoDB存储引擎中的索引用法及说明,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐... 目录1、背景2、准备3、正篇【1】存储用户记录的数据页【2】存储目录项记录的数据页【3】聚簇索引【4】二

mysql中的数据目录用法及说明

《mysql中的数据目录用法及说明》:本文主要介绍mysql中的数据目录用法及说明,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1、背景2、版本3、数据目录4、总结1、背景安装mysql之后,在安装目录下会有一个data目录,我们创建的数据库、创建的表、插入的

ModelMapper基本使用和常见场景示例详解

《ModelMapper基本使用和常见场景示例详解》ModelMapper是Java对象映射库,支持自动映射、自定义规则、集合转换及高级配置(如匹配策略、转换器),可集成SpringBoot,减少样板... 目录1. 添加依赖2. 基本用法示例:简单对象映射3. 自定义映射规则4. 集合映射5. 高级配置匹

Spring 框架之Springfox使用详解

《Spring框架之Springfox使用详解》Springfox是Spring框架的API文档工具,集成Swagger规范,自动生成文档并支持多语言/版本,模块化设计便于扩展,但存在版本兼容性、性... 目录核心功能工作原理模块化设计使用示例注意事项优缺点优点缺点总结适用场景建议总结Springfox 是