pankaj-ag / larave-mobile-mobile-api
一个用于设置移动端的Laravel包
v1.1
2018-12-20 17:28 UTC
This package is not auto-updated.
Last update: 2024-09-20 20:26:27 UTC
README
先决条件
此包需要您对 Laravel Passport 有基本了解。
安装
- 将此包添加到您的项目中。
- 现在,在控制器中添加
CanHaveAPIEndPoints
特性,该控制器将有助于移动服务。您也可以在基控制器中添加此特性并使用它。现在您可以使用 returnFormattedResponse 方法发送响应。此函数将检查请求并相应地发送响应。
仅处理Web响应
第一个参数是传递给视图的数据数组。第二个参数是视图名称。
return $this->returnFormattedResponse(['projects' => $projects], 'project.index');
处理Web和API响应
使用两个闭包发送针对Web和API的不同响应。
return $this->returnFormattedResponse( function () { // api response here }, function () { // web response here } );
异常处理
为了获得清晰的错误响应,您需要将特性添加到 App\Exceptions\Handler 类中,并在 report 方法中添加以下代码片段。
public function render($request, Exception $exception) { if($this->isApi()) { return $this->renderErrorResponseForAPI($exception); } return parent::render($request, $exception); }
身份验证中间件
如果您想为每个已认证的路由设置认证用户,请将 RestApiMiddleware
添加到您的项目中,并在路由上应用它。
在 kernel.php 中
'restapi' => ColoredCow\LaravelMobileAPI\RestAPIMiddleware::class,
在 routes/api.php 文件中
Route::group(['middleware' => ['auth:api', 'restapi:auth'] ], function () { // routes });