基于tp6的api生成模块,参考fastadmi的api模块
引用下载到tp6的exted\jmwl下usejmwl\realapidoc\Builder;usethik\facade\View;使用这里是所有的需要生成api的控制器路径啦、所以,你可以先获取到模块下的所有控制器Builder(["\app\admi\cotroller\Demo","\app\admi\cotroller\Idex"])$title="类名";$url="https://real-thik.jmwl51.com";$lag=['Ifo'=>'基础信息','Sadbox'=>'在线测试','Sampleoutput'=>'返回示例','Headers'=>'Headers','Parameters'=>'参数','Body'=>'正文','Name'=>'名称','Type'=>'类型','Required'=>'必选','Descriptio'=>'描述','Sed'=>'提交','Reset'=>'重置','Toketips'=>'Toke在会员注册或登录后都会返回,WEB端同时存在于Cookie中','Apiurltips'=>'API接口URL','Savetips'=>'点击保存后Toke和Apiurl都将保存在本地Localstorage中','Authorizatio'=>'权限','NeedLogi'=>'登录','NeedRight'=>'鉴权','ReturHeaders'=>'响应头','ReturParameters'=>'返回参数','Respose'=>'响应输出',];$cofig=['siteame'=>"测试",'title'=>$title,'author'=>"测试",'descriptio'=>'','apiurl'=>$url,'laguage'=>$lag,];//这里是所有的需要生成api的控制器路径啦$builder=ewBuilder(["\\app\\admi\\cotroller\\Demo","\\app\\admi\\cotroller\\Idex"]);$cotet=$builder->reder(root_path()."/exted/jmwl/realapidoc/template/idex.html",['cofig'=>$cofig,'lag'=>$lag]);//dump($cotet);die;View::assig('cofig',$cofig);View::assig('docslist',$cotet["docsList"]);View::assig('lag',$cotet["lag"]);returView();视图文件中的idex.html就是视图啦,放到正确的位置我放在了app\admi\view\api\idex.html对应的控制器自然是admi下的api控制器啦控制器注释名称描述示例@ApiSectorAPI分组名称(测试分组)@ApiRouteAPI接口URL,此@ApiRoute只是基础URL(/api/test)@ApiIteral忽略的控制器,表示此控制将不加入API文档无@ApiWeighAPI方法的排序,值越大越靠前(99)控制器方法注释名称描述示例@ApiTitleAPI接口的标题,为空时将自动匹配注释的文本信息(测试标题)@ApiSummaryAPI接口描述(测试描述)@ApiRouteAPI接口地址,为空时将自动计算请求地址(/api/test/idex)@ApiMethodAPI接口请求方法,默认为GET(POST)@ApiSectorAPI分组,默认按钮控制器或控制器的@ApiSector进行分组(测试分组)@ApiParamsAPI请求参数,如果在@ApiRoute中有对应的{@参数名},将进行替换(ame="id",type="iteger",required=true,descriptio="会员ID")@ApiHeadersAPI请求传递的Headers信息(ame=toke,type=strig,required=true,descriptio="请求的Toke")@ApiReturAPI返回的结果示例({"code":1,"msg":"返回成功"})@ApiReturParamsAPI返回的结果参数介绍(ame="code",type="iteger",required=true,sample="0")@ApiReturHeadersAPI返回的Headers信息(ame="toke",type="iteger",required=true,sample="123456")@ApiIteral忽略的方法,表示此方法将不加入文档无@ApiWeighAPI方法的排序,值越大越靠前(99)示范<?phpamespaceapp\api\cotroller;/***测试API控制器*/classTestexteds\app\commo\cotroller\Api{//无需验证登录的方法protected$oNeedLogi=['test'];//无需要判断权限规则的方法protected$oNeedRight=['*'];/***首页**可以通过@ApiIteral忽略请求的方法*@ApiIteral*/publicfuctioidex(){retur'idex';}/***私有方法*私有的方法将不会出现在文档列表*/privatefuctioprivatetest(){retur'private';}/***测试方法**@ApiTitle(测试名称)*@ApiSummary(测试描述信息)*@ApiSector(测试分组)*@ApiMethod(POST)*@ApiRoute(/api/test/test/id/{id}/ame/{ame})*@ApiHeaders(ame=toke,type=strig,required=true,descriptio="请求的Toke")*@ApiParams(ame="id",type="iteger",required=true,descriptio="会员ID")*@ApiParams(ame="ame",type="strig",required=true,descriptio="用户名")*@ApiParams(ame="data",type="object",sample="{'user_id':'it','user_ame':'strig','profile':{'email':'strig','age':'iteger'}}",descriptio="扩展数据")*@ApiReturParams(ame="code",type="iteger",required=true,sample="0")*@ApiReturParams(ame="msg",type="strig",required=true,sample="返回成功")*@ApiReturParams(ame="data",type="object",sample="{'user_id':'it','user_ame':'strig','profile':{'email':'strig','age':'iteger'}}",descriptio="扩展数据返回")*@ApiRetur({'code':'1','mesg':'返回成功'*})*/publicfuctiotest($id='',$ame=''){$this->success("返回成功",$this->request->request());}}点击空白处退出提示










评论