2017 © Pedro Peláez
 

lumen-package lumen-rest-object-fetch-middleware

Simple Lumen middleware for simple fetching simple objects in simple REST API endpoints

image

wronx/lumen-rest-object-fetch-middleware

Simple Lumen middleware for simple fetching simple objects in simple REST API endpoints

  • Thursday, July 19, 2018
  • by WRonX
  • Repository
  • 1 Watchers
  • 0 Stars
  • 53 Installations
  • PHP
  • 1 Dependents
  • 0 Suggesters
  • 0 Forks
  • 0 Open issues
  • 2 Versions
  • 0 % Grown

The README.md

Lumen REST Object Fetch Middleware

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., (*1)

The purpose of this project

It was created to avoid repetitive 404 (and other) checks when hitting CRUD endpoints of API., (*2)

Is it any good?

Yes, (*3)

(well, it will be in stable version... I hope...), (*4)

Installation

  1. Install the package with Composer:
composer require wronx/lumen-rest-object-fetch-middleware
  1. Enable it in bootstrap/app.php:
$app->routeMiddleware([
// ...
                          'object' => WRonX\RestObjectFetch\RestObjectFetchMiddleware::class,
                      ]);

Usage

  1. In routes/web.php assign it to route which requires id 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',
        ]);
    });
  1. 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., (*5)

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, (*6)

The Versions

19/07 2018

dev-master

9999999-dev

Simple Lumen middleware for simple fetching simple objects in simple REST API endpoints

  Sources   Download

WTFPL

The Requires

 

middleware lumen rest

19/07 2018

v0.1

0.1.0.0

Simple Lumen middleware for simple fetching simple objects in simple REST API endpoints

  Sources   Download

WTFPL

The Requires

 

middleware lumen rest