一键生成API文档

FastAdmin中的一键生成API文档可以在命令行或后台一键生成我们API接口的接口测试文档,可以直接在线模拟接口请求,查看参数示例和返回示例。

准备工作

请确保你的API模块下的控制器代码没有语法错误,控制器类注释、方法名注释完整,注释规则请参考下方注释规则

请确保你的FastAdmin已经安装成功且能正常登录后台

请确保php所在的目录已经加入到系统环境变量,否则会提示找不到该命令

打开命令行控制台进入到FastAdmin根目录,也就是think文件所在的目录

常用命令

//一键生成API文档

php think api --force=true

//指定https://www.example.com为API接口请求域名,默认为空

php think api -u https://www.example.com --force=true

//输出自定义文件为myapi.html,默认为api.html

php think api -o myapi.html --force=true

//修改API模板为mytemplate.html,默认为index.html

php think api -e mytemplate.html --force=true

//修改标题为FastAdmin,作者为作者

php think api -t FastAdmin -a Karson --force=true

//查看API接口命令行帮助

php think api -h

参数介绍

-u, --url[=URL] 默认API请求URL地址 [default: ""]

-m, --module[=MODULE] 模块名(admin/index/api) [default: "api"]

-o, --output[=OUTPUT] 输出文件 [default: "api.html"]

-e, --template[=TEMPLATE] 模板文件 [default: "index.html"]

-f, --force[=FORCE] 覆盖模式 [default: false]

-t, --title[=TITLE] 文档标题 [default: "FastAdmin"]

-a, --author[=AUTHOR] 文档作者 [default: "FastAdmin"]

-c, --class[=CLASS] 扩展类 (multiple values allowed)

-l, --language[=LANGUAGE] 语言 [default: "zh-cn"]

注释规则

在我们的控制器中通常分为两部分注释,一是控制器头部的注释,二是控制器方法的注释。

控制器注释

名称

描述

示例

@ApiSector

API分组名称

(测试分组)

@ApiRoute

API接口URL,此@ApiRoute只是基础URL

(/api/test)

@ApiInternal

忽略的控制器,表示此控制将不加入API文档

@ApiWeigh

API方法的排序,值越大越靠前

(99)

控制器方法注释

名称

描述

示例

@ApiTitle

API接口的标题,为空时将自动匹配注释的文本信息

(测试标题)

@ApiSummary

API接口描述

(测试描述)

@ApiRoute

API接口地址,为空时将自动计算请求地址

(/api/test/index)

@ApiMethod

API接口请求方法,默认为GET

(POST)

@ApiSector

API分组,默认按钮控制器或控制器的@ApiSector进行分组

(测试分组)

@ApiParams

API请求参数,如果在@ApiRoute中有对应的{@参数名},将进行替换

(name="id", type="integer", required=true, description="会员ID")

@ApiHeaders

API请求传递的Headers信息

(name=token, type=string, required=true, description="请求的Token")

@ApiReturn

API返回的结果示例

({"code":1,"msg":"返回成功"})

@ApiReturnParams

API返回的结果参数介绍

(name="code", type="integer", required=true, sample="0")

@ApiReturnHeaders

API返回的Headers信息

(name="token", type="integer", required=true, sample="123456")

@ApiInternal

忽略的方法,表示此方法将不加入文档

@ApiWeigh

API方法的排序,值越大越靠前

(99)

标准范例

namespace appapicontroller;

/**

* 测试API控制器

*/

class Test extends appcommoncontrollerApi

{

// 无需验证登录的方法

protected $noNeedLogin = ['test'];

// 无需要判断权限规则的方法

protected $noNeedRight = ['*'];

/**

* 首页

*

* 可以通过@ApiInternal忽略请求的方法

* @ApiInternal

*/

public function index()

{

return 'index';

}

/**

* 私有方法

* 私有的方法将不会出现在文档列表

*/

private function privatetest()

{

return 'private';

}

/**

* 测试方法

*

* @ApiTitle (测试名称)

* @ApiSummary (测试描述信息)

* @ApiSector (测试分组)

* @ApiMethod (POST)

* @ApiRoute (/api/test/test/id/{id}/name/{name})

* @ApiHeaders (name=token, type=string, required=true, description="请求的Token")

* @ApiParams (name="id", type="integer", required=true, description="会员ID")

* @ApiParams (name="name", type="string", required=true, description="用户名")

* @ApiParams (name="data", type="object", sample="{'user_id':'int','user_name':'string','profile':{'email':'string','age':'integer'}}", description="扩展数据")

* @ApiReturnParams (name="code", type="integer", required=true, sample="0")

* @ApiReturnParams (name="msg", type="string", required=true, sample="返回成功")

* @ApiReturnParams (name="data", type="object", sample="{'user_id':'int','user_name':'string','profile':{'email':'string','age':'integer'}}", description="扩展数据返回")

* @ApiReturn ({

'code':'1',

'mesg':'返回成功'

* })

*/

public function test($id = '', $name = '')

{

$this->success("返回成功", $this->request->request());

}

}

常见问题

如果控制器的方法是private或protected的,则将不会生成相应的API文档

如果注释不生效,请检查注释文本是否正确

admin.php生成地址,FastAdmin命令行一键生成API文档相关推荐

  1. Linux命令行如何编辑word文档,在Linux平台下用命令行工具显示Word文档

    在Linux平台下用命令行工具显示Word文档 ·Antiword ·Catdoc ·wvWare[@more@] Viewing Word files at the command line Wed ...

  2. Node交互式命令行工具开发——自动化文档工具

    转载自:小磊 https://segmentfault.com/a/1190000039749423 nodejs开发命令行工具,流程相对简单,但一套完整的命令行程序开发流程下来,还是需要下点功夫,网 ...

  3. 怎么退出python命令行cd找到txt文档_《python怎么读取txt文件》

    python怎么创建一个txt文件 python怎么创建txt文件的方法. 如下参考: 1.首用内置的空闲编辑器编辑(单击并选择copy),如下图所示. 2.您可以下载记事本和其他编辑软件,以支持多种 ...

  4. Linux重签名工具程序及命令行重签ipa文档

    au-signer推出了Linux系统命令行重签名ipa的程序 适用于自动化签名的实现 au-signer工具官网 http://sign.applicationloader.net/ 命令行签名包括 ...

  5. raspberryPi摄像头命令行软件raspistill帮助文档

    目录 作用 使用格式 常用命令: 图像参数与命令 预览参数与命令 图像参数与命令2 提示 原博文:https://www.cnblogs.com/jikexianfeng/p/7130843.html ...

  6. Helixoft VSdocman 是一个集成于Visual Studio并提供了命令行版本的帮助文档编译工具...

    http://www.helixoft.com/vsdocman/overview.html https://blog.fishlee.net/2016/01/14/helixoft-vsdocman ...

  7. knife4j API文档生成使用流程及详解

    目录 初始化流程 详细注解分析 @Api @ApiOperation @ApiModelProperty @ApiImplicitParam @ApiImplicitParams @ApiIgnore ...

  8. 可以一键生成crud的php框架,一键生成CRUD - FastAdmin框架文档 - FastAdmin开发文档

    一键生成CRUD 最后更新时间:2021-01-05 19:54:10 在FastAdmin中可以快速的一键生成CRUD,其中包括控制器.模型.视图.验证器.语言包.JS. 准备工作 在数据库中创建一 ...

  9. cmd修改服务器命令,修改服务器的ip地址的命令行

    修改服务器的ip地址的命令行 内容精选 换一换 Atlas 200 DK开发者板支持通过USB端口或者网线与Ubuntu服务器进行连接,连接示例图如图1所示.Atlas 200 DK连接Ubuntu服 ...

最新文章

  1. 《一个操作系统的实现》读书笔记连载ing……
  2. ITK:双边过滤图像
  3. 一个故事 让你看懂“区块链”
  4. 学习微信公众号oauth2.0
  5. MATLAB-S函数
  6. linux system查看内存占用,Linux查看系统内存占用
  7. 控件把鼠标放上去出现一个小窗口_控件跟着鼠标走,VBA让你的操作随心所欲
  8. [ZJOI2006]物流运输
  9. aspx页面中文汉字显示为乱码
  10. 矩形覆盖-----批了外皮的亲蛙跳
  11. spring扩展点六:监听spring容器刷新事件
  12. 服务器虚拟内存设置在什么盘,虚拟内存设置在哪个磁盘呢
  13. webservice 缺少根元素_草莓种植,这2种元素至关重要,直接影响草莓的产量和品质...
  14. 移民新西兰,两个博客
  15. java fadein_jQuery中fadein与fadeout方法用法示例
  16. python求周长_作业-python面向对象编程-计算周长和面积
  17. docker部署OpenVAS开源漏洞扫描系统——筑梦之路
  18. java datetime转int_java日期int和String互转
  19. mysql host 为%_mysql中host为%是什么意思
  20. 网络推广方式有哪些,网络推广哪个平台好?

热门文章

  1. python 用pandleocr批量图片读取表格并且保存为excel
  2. 【面向对象】抽象类和接口
  3. element ui 穿梭框_改造ElementUI穿梭框
  4. Image Matting(抠图)技术介绍
  5. Hive 2.1.1安装配置
  6. 百视通与微软共同宣布9月在华发布Xbox One
  7. VSCode远程配置流程(详细图解)
  8. 重置或重新安装 Windows 10 - 初学者系列 - 学习者系列文章
  9. 【八芒星计划】 VM PWN
  10. DRBD概念、原理和问题