wronx/lumen-rest-object-fetch-middleware

简单的Lumen中间件,用于简单REST API端点的简单对象获取

v0.1.1 2018-10-15 08:23 UTC

This package is auto-updated.

Last update: 2024-09-15 22:27:11 UTC


README

重要: 此包正在开发中,绝非稳定。
请负责任地使用!或者完全不用,等待v1.0版本。

此项目目的

它被创建是为了避免在访问API的CRUD端点时进行重复的404(和其他)检查。

这有用吗?

是的

(好吧,在稳定版本中……我希望如此……)

安装

  1. 使用Composer安装包
composer require wronx/lumen-rest-object-fetch-middleware
  1. bootstrap/app.php中启用它
$app->routeMiddleware([
// ...
                          'object' => WRonX\RestObjectFetch\RestObjectFetchMiddleware::class,
                      ]);

用法

  1. 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',
        ]);
    });
  1. 在受此中间件覆盖的控制器方法中,您无需检查对象是否存在,也无需从数据库中再次获取它
    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/