sametsahindogan/response-object-creator

This package provide to standardized response objects for your API.

v1.0.2 2020-01-21 12:03 UTC

This package is auto-updated.

Last update: 2024-04-04 22:33:22 UTC


README

GitHub license

This package provides to standardized response objects for your API.

68747470733a2f2f75706c6f61642e77696b696d656469612e6f72672f77696b6970656469612f636f6d6d6f6e732f7468756d622f362f36612f4e756c6c7365742e7376672f3132303070782d4e756c6c7365742e7376672e706e67

One of the important things in an API is that it has a standard response type. This package provides a standard response structure for your API.

Installation

composer require sametsahindogan/response-object-creator

Usage

If you want to return a "success" result;

// Your array that you want to return as an object. 
 $data = [
        'id' => 1,
        'name' => 'John',
        'surname' => 'Doe'
    ];

// If you use pure PHP;
 return json_encode( new SuccessResult($data) );
    
// If you use Laravel Framework;
 return response()->json( new SuccessResult($data) );

// If you use Symfony Framework;
 return new JsonResponse( new SuccessResult($data) );

Output;

{
      "success": true,
      "data": {
          "id": 1,
          "name": "John",
          "surname": "Doe"
      }
}

If you want to return an "error" result;

// You must create an Error Builder object.
 $errorBuilder = new ErrorBuilder();

// If you use pure PHP;
  return json_encode(new ErrorResult(
             $errorBuilder->title('Error')
                 ->message('Something wrong happened.')
                 ->code(1)
                 ->extra(['You can add some extra messages or etc.'])
         )
     );
    
// If you use Laravel Framework;
 return response()->json(new ErrorResult(
             $errorBuilder->title('Error')
                 ->message('Something wrong happened.')
                 ->code(1)
                 ->extra(['You can add some extra messages or etc.'])
         )
     );

// If you use Symfony Framework;
 return new JsonResponse(new ErrorResult(
             $errorBuilder->title('Error')
                 ->message('Something wrong happened.')
                 ->code(1)
                 ->extra(['You can add some extra messages or etc.'])
         )
     );

Output;

{
      "success": false,
      "data": {
          "message": "User does not have the right roles or permissions.",
          "title": "Operation Failed",
          "code": 1,
          "extra": [ 
               "You can add some extra messages or etc."
          ]
      }
}

License

MIT © Samet Sahindogan