企业🤖AI智能体构建引擎,智能编排和调试,一键部署,支持私有化部署方案 广告
laravel-api-helper在对参数进行验证,和数据绑定都需要继承`Gaazok\Tools\ApiHelper\Request\MasterRequest`抽象类,`MasterRequest` 继承自`FromRequest`。 > 当`MasterRequest`子类存在`registerCommonRequestInfo`方法,子类被实例化时会自动调用`registerCommonRequestInfo`来用于注册一些公共的参数验证规则、参数名以及数据绑定关系。 使用示例: 验证器文件 `/app/Http/Controllers/Api/Request/Demo.php` ``` <?php declare(strict_types=1); namemespace App\Http\Controllers\Api\Request; use Gaazok\Tools\ApiHelper\Request\MasterRequest; use Gaazok\Tools\ApiHelper\Request\Rules; use Gaazok\Tools\ApiHelper\RequestParameters; class Demo extends MasterRequest { // 注册公共参数验证规则和公共参数 publif function registerCommonRequestInfo() { Rules::add('id', ['bail', 'required', 'integer']); Rules::add('name', ['sometimes', 'required', 'string', 'size:32']); Parameters::add('id'); } // 注册runTest方法需要验证的参数 public function runTestParameters() { return ['name']; } } ``` 控制器文件 `/app/Http/Controllers/Api/V1/Demo.php` ``` <?php declare(strict_types=1); namemespace App\Http\Controllers\Api\V1; use App\Http\Controllers\Api\Request\DemoReq; use Gaazok\Tools\ApiHelper\Controllers\ApiController; class Demo extends ApiController { // 请求白名单,将对外开放的接口方法名写到该方法内 pubilc function writeListMethod(): array { return ['runTest']; } public function runTest(DemoReq $req) { retunrn $this->success(); } } ``` 以上就是一个完整的接口示意代码。