api-doc
使用方法
1、安装扩展
composer require weiwei/laravel-apidoc
2、注册服务提供者
添加 Weiwei\LaravelApiDoc\ApiDocServiceProvider到config/app.php 的providers 中
如:
'providers' => [
/*
* Package Service Providers...
*/
.......
Weiwei\LaravelApiDoc\ApiDocServiceProvider::class,
]
3、发布前端资源文件
php artisan vendor:publish
4、在app/doc.php文件中,配置需要生成文档的接口类
return [
'title' => "APi接口文档", //文档title
'version'=>'1.0.0', //文档版本
'copyright'=>'Powered By Zhangweiwei', //版权信息
'controller' => [
//需要生成文档的类
'App\\Http\\Controllers\\Api\\DemoController'//此控制器demo文件请看下一个步凑中的源码,或者在包根目录下面DemoController.php
],
'filter_method' => [
//过滤 不解析的方法名称
'_empty'
],
'return_format' => [
//数据格式
'status' => "200/300/301/302",
'message' => "提示信息",
],
'public_header' => [
//全局公共头部参数
//如:['name'=>'version', 'require'=>1, 'default'=>'', 'desc'=>'版本号(全局)']
],
'public_param' => [
//全局公共请求参数,设置了所以的接口会自动增加次参数
//如:['name'=>'token', 'type'=>'string', 'require'=>1, 'default'=>'', 'other'=>'' ,'desc'=>'验证(全局)')']
],
];
5、在相关接口类中增加注释参数( group 参数将接口分组,可选)
方法如下:返回参数支持数组及多维数组, (*1)
<?php
namespace App\Http\Controllers\Api;
use App\Http\Controllers\Controller;
use Illuminate\Http\Request;
/**
* @title 测试demo
* @description 接口说明
* @group 接口分组
* @header name:key require:1 default: desc:秘钥(区别设置)
* @param name:public type:int require:1 default:1 other: desc:公共参数(区别设置)
*/
class DemoController extends Controller
{
/**
* @title 测试demo接口
* @description 接口说明
* @author 开发者
* @url /api/demo
* @method GET
*
* @header name:device require:1 default: desc:设备号
*
* @param name:id type:int require:1 default:1 other: desc:唯一ID
*
* @return name:名称
* @return mobile:手机号
* @return list_messages:消息列表@
* @list_messages message_id:消息ID content:消息内容
* @return object:对象信息@!
* @object attribute1:对象属性1 attribute2:对象属性2
* @return array:数组值#
* @return list_user:用户列表@
* @list_user name:名称 mobile:手机号 list_follow:关注列表@
* @list_follow user_id:用户id name:名称
*/
public function index(Request $request)
{
//接口代码
$device = $request->header('device');
echo json_encode(["code"=>200, "message"=>"success", "data"=>['device'=>$device]]);
}
/**
* @title 登录接口
* @description 接口说明
* @author 开发者
* @url /api/demo
* @method GET
* @module 用户模块
* @param name:name type:int require:1 default:1 other: desc:用户名
* @param name:pass type:int require:1 default:1 other: desc:密码
*
* @return name:名称
* @return mobile:手机号
*
*/
public function login(Request $request)
{
//接口代码
$device = $request->header('device');
echo json_encode(["code"=>200, "message"=>"success", "data"=>['device'=>$device]]);
}
}
6、在浏览器访问http://你的域名/doc 查看接口文档
7、预览
, (*2)
更多支持