wronx / lumen-rest-object-fetch-middleware
简单的Lumen中间件,用于简单REST API端点的简单对象获取
v0.1.1
2018-10-15 08:23 UTC
Requires
- php: >=7.1
- illuminate/http: ^5.7
- illuminate/support: ^5.7
- symfony/http-kernel: ^4.1
This package is auto-updated.
Last update: 2024-09-15 22:27:11 UTC
README
重要: 此包正在开发中,绝非稳定。
请负责任地使用!或者完全不用,等待v1.0版本。
此项目目的
它被创建是为了避免在访问API的CRUD端点时进行重复的404(和其他)检查。
这有用吗?
(好吧,在稳定版本中……我希望如此……)
安装
- 使用Composer安装包
composer require wronx/lumen-rest-object-fetch-middleware
- 在
bootstrap/app.php
中启用它
$app->routeMiddleware([ // ... 'object' => WRonX\RestObjectFetch\RestObjectFetchMiddleware::class, ]);
用法
- 在
routes/web.php
中,将其分配给需要id
参数的路由,并给出模型类名
$router->group([ 'prefix' => '/something/{id:[0-9]+}', 'middleware' => 'object:Something', // <--- HERE ], function() use ($router) { $router->get('', [ 'as' => 'show_something', 'uses' => 'SomethingController@show', ]); $router->patch('', [ 'as' => 'edit_something', 'uses' => 'SomethingController@update', ]); $router->delete('', [ 'as' => 'delete_something', 'uses' => 'SomethingController@destroy', ]); });
- 在受此中间件覆盖的控制器方法中,您无需检查对象是否存在,也无需从数据库中再次获取它
public function show(Request $request) { $something = $request->attributes->get('fetchedObject'); return new JsonResponse($something); }
贡献
如果您想贡献,请等待。在稳定版本到来之前,我想以我的方式塑造这个包。之后,将欢迎拉取请求。
许可证
版权所有 © 2016 github.com/WRonX
此作品是免费的。您可以在以下条款下重新分发或修改它:Sam Hocevar发布的Do What The Fuck You Want To Public License,版本2。有关更多详细信息,请参阅http://www.wtfpl.net/