2017 © Pedro Peláez
 

library laravel-api-skeleton

This package contains laravel skeleton api application

image

jack.savich/laravel-api-skeleton

This package contains laravel skeleton api application

  • Friday, April 14, 2017
  • by jackSavich1993
  • Repository
  • 3 Watchers
  • 3 Stars
  • 111 Installations
  • PHP
  • 0 Dependents
  • 0 Suggesters
  • 1 Forks
  • 0 Open issues
  • 13 Versions
  • 3 % Grown

The README.md

laravel-api-skeleton

This is package provide laravel skeleton api, includes BaseController, Request and json format response, (*1)

Installation

Composer require

savich/laravel-api-skeleton

Register Service Provider

'providers' => [
...
Savich\ApiSkeleton\Providers\ApiServiceProvider::class,

Register Middleware

protected $routeMiddleware = [
...
'api.auth' => \Savich\ApiSkeleton\Middleware\Auth::class,

Usage

Controller

use Savich\ApiSkeleton\Controllers\ApiController;

class YourController extends ApiController

Routes

On your routes file specify middleware for route group that provide checking if user is authenticated via api, (*2)

// on routes file

Route::group(['middleware' => 'api.auth'], function () {
    // your routes ...
});

Request

All api requests should inherit ApiRequest for making one errors format, (*3)

use Savich\ApiSkeleton\Requests\ApiRequest;

class YourRequest extends ApiRequest

Features

Response

To making response of the api just call in your controller method send() of ApiController that provide convenient way of response representation, (*4)

use Savich\ApiSkeleton\Controllers\ApiController;
use Savich\ApiSkeleton\Response\ResponseInterface;

class YourController extends ApiController
{
    public function index()
        {
            return $this->send(/* params */); 
        }

The response looks like:, (*5)

{
  "status": 1,
  "message": null,
  "token": null,
  "result": null // here will be your `params`
}

Auth

The package provide simple work with auth via api. You just need to use TokenTrait that makes login easy and nice., (*6)

Example., (*7)

use Savich\ApiSkeleton\Controllers\ApiController;
use Savich\ApiSkeleton\Controllers\Mixins\TokenTrait;
use Savich\ApiSkeleton\Response\ResponseInterface;

class AuthController extends ApiController
{
    use TokenTrait;

    public function __construct(ResponseInterface $response)
    {
        parent::__construct($response);
    }

    /**
     * API Login, on success return JWT Auth token
     * @param LoginRequest $request
     * @return \Illuminate\Http\JsonResponse
     */
    public function login(LoginRequest $request) // you can make your own request
    {
        $user = $this->getUser($request->only('email', 'password'));

        if (!$user) {
            $this->addError('Invalid credentials');

            return $this->send();
        }

        return $this->attemptToken($user);
    }
}

The Versions

14/04 2017

dev-master

9999999-dev

This package contains laravel skeleton api application

  Sources   Download

MIT

The Requires

 

by Jack Savich

09/11 2016
09/11 2016
08/11 2016
08/11 2016
08/11 2016
04/11 2016
04/11 2016
04/11 2016
24/05 2016

0.0.3

0.0.3.0

This package contains laravel skeleton api application

  Sources   Download

MIT

The Requires

 

by Jack Savich

24/05 2016

0.0.4

0.0.4.0

This package contains laravel skeleton api application

  Sources   Download

MIT

The Requires

 

by Jack Savich

19/05 2016

0.0.2

0.0.2.0

This package contains laravel skeleton api application

  Sources   Download

MIT

The Requires

 

by Jack Savich

19/05 2016

0.0.1

0.0.1.0

This package contains laravel skeleton api application

  Sources   Download

MIT

The Requires

 

by Jack Savich