nextdots/api-exceptions

JSON exceptions for your API

dev-master 2017-01-19 03:41 UTC

This package is not auto-updated.

Last update: 2024-04-22 13:25:00 UTC


README

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");
});