nextdots/api-exceptions

JSON exceptions for your API
385
Install
composer require nextdots/api-exceptions
PHP:^5.3.3 || ^7.0
License:MIT
Last Updated:Jan 19, 2017
Links: GitHub  ·  Packagist
Maintainer: whoan

API Exceptions

Convert your Lumen exceptions into JSON:

{
  "code": nnn,
  "message": "a message",
  "description": "a description",
  "errors": [
    "error 1",
    "error 2",
    ...
  ]
}

Installation

Set your composer.json to allow less stable packages:

"minimum-stability" : "dev",  
"prefer-stable" : true

Require the package as usual:

composer require nextdots/api-exceptions

Change app/Exceptions/Handler.php:

  • Change this:

    use Laravel\Lumen\Exceptions\Handler as ExceptionHandler;
    
  • To this:

    use ApiExceptions\Handler as ExceptionHandler;
    

On Linux, you can do the same as above with the following command:

sed -i 's/Laravel\\Lumen\\Exceptions\\Handler/ApiExceptions\\Handler/' app/Exceptions/Handler.php

Example

use ApiExceptions\JsonResponseException;

$app->get('/throw-exception', function () {
    throw new JsonResponseException(400, "an exception", "a description");
});