wronx / lumen-rest-object-fetch-middleware
Simple Lumen middleware for simple fetching simple objects in simple REST API endpoints
Installs: 1 050
Dependents: 1
Suggesters: 0
Security: 0
Stars: 0
Watchers: 1
Forks: 0
Open Issues: 0
Type:lumen-package
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-11-15 23:02:17 UTC
README
IMPORTANT: This package is a work in progress, it it not stable by any means.
Use responsibly! Or don't use at all and wait for v1.0.
The purpose of this project
It was created to avoid repetitive 404 (and other) checks when hitting CRUD endpoints of API.
Is it any good?
(well, it will be in stable version... I hope...)
Installation
- Install the package with Composer:
composer require wronx/lumen-rest-object-fetch-middleware
- Enable it in
bootstrap/app.php
:
$app->routeMiddleware([ // ... 'object' => WRonX\RestObjectFetch\RestObjectFetchMiddleware::class, ]);
Usage
- In
routes/web.php
assign it to route which requiresid
parameter, giving it model's class name:
$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', ]); });
- In Controller methods that are covered by this middleware you don't have to check if object exists and you don't have to fetch it again from DB:
public function show(Request $request) { $something = $request->attributes->get('fetchedObject'); return new JsonResponse($something); }
Contributing
If you want to contribute, please wait. Until stable version arrives I want to shape this package in my specific way. Later on, pull requests will be welcome.
License:
Copyright © 2016 github.com/WRonX
This work is free. You can redistribute it and/or modify it under the terms of the Do What The Fuck You Want To Public License, Version 2, as published by Sam Hocevar. See http://www.wtfpl.net/ for more details