PHP code example of raditzfarhan / laravel-api-response

1. Go to this page and download the library: Download raditzfarhan/laravel-api-response library. Choose the download type require.

2. Extract the ZIP file and open the index.php.

3. Add this code to the index.php.
    
        
<?php
require_once('vendor/autoload.php');

/* Start to develop here. Best regards https://php-download.com/ */

    

raditzfarhan / laravel-api-response example snippets


// Via the response() helper macro (auto-registered)
return response()->api()->success();
return response()->api()->failed();

// Via the facade
return ApiResponse::success();
return ApiResponse::failed();

return ApiResponse::httpCode(201)
    ->message('User created successfully.')
    ->data(['id' => 1, 'name' => 'Raditz Farhan'])
    ->success();

return ApiResponse::code(40401)->notFound();

return ApiResponse::headers([
    'X-Request-Id' => (string) Str::uuid(),
    'X-Version'    => '1.0',
])->success();

// 2xx
return ApiResponse::created($data);         // 201
return ApiResponse::collection($paginator); // 200 with meta & links

// 4xx
return ApiResponse::badRequest();           // 400
return ApiResponse::unauthorized();         // 401
return ApiResponse::forbidden();            // 403
return ApiResponse::notFound();             // 404
return ApiResponse::methodNotAllowed();     // 405
return ApiResponse::notAcceptable();        // 406
return ApiResponse::requestTimeout();       // 408
return ApiResponse::conflict();             // 409
return ApiResponse::gone();                 // 410
return ApiResponse::validationError();      // 422
return ApiResponse::tooManyRequests();      // 429

// 5xx
return ApiResponse::internalServerError();  // 500
return ApiResponse::notImplemented();       // 501
return ApiResponse::badGateway();           // 502
return ApiResponse::serviceUnavailable();   // 503
return ApiResponse::gatewayTimeout();       // 504

return ApiResponse::conflict('A record with this email already exists.');

return ApiResponse::validationError($validator->errors()->toArray());

return ApiResponse::collection(Post::paginate(25));

use Illuminate\Auth\AuthenticationException;
use Illuminate\Http\Request;
use Illuminate\Validation\ValidationException;
use Symfony\Component\HttpKernel\Exception\NotFoundHttpException;
use RaditzFarhan\ApiResponse\Facades\ApiResponse;

->withExceptions(function (Exceptions $exceptions) {
    $exceptions->render(function (ValidationException $e, Request $request) {
        if ($request->expectsJson()) {
            return ApiResponse::validationError($e->errors(), $e->getMessage());
        }
    });

    $exceptions->render(function (AuthenticationException $e, Request $request) {
        if ($request->expectsJson()) {
            return ApiResponse::unauthorized();
        }
    });

    $exceptions->render(function (NotFoundHttpException $e, Request $request) {
        if ($request->expectsJson()) {
            return ApiResponse::notFound();
        }
    });
})

use Illuminate\Auth\AuthenticationException;
use Illuminate\Http\Request;
use Illuminate\Validation\ValidationException;
use Symfony\Component\HttpKernel\Exception\NotFoundHttpException;
use RaditzFarhan\ApiResponse\Facades\ApiResponse;

public function register(): void
{
    $this->renderable(function (ValidationException $e, Request $request) {
        if ($request->expectsJson()) {
            return ApiResponse::validationError($e->errors(), $e->getMessage());
        }
    });

    $this->renderable(function (AuthenticationException $e, Request $request) {
        if ($request->expectsJson()) {
            return ApiResponse::unauthorized();
        }
    });

    $this->renderable(function (NotFoundHttpException $e, Request $request) {
        if ($request->expectsJson()) {
            return ApiResponse::notFound();
        }
    });
}

'keys' => [
    'status'    => 'success',   // "status" → "success"
    'http_code' => 'code',      // "http_code" → "code"
    'message'   => 'message',
    'data'      => 'data',
    'errors'    => 'errors',
    'meta'      => 'meta',
    'links'     => 'links',
    'code'      => 'error_code',
],

'global_fields' => [
    'version'    => '1.0',
    'request_id' => fn() => request()->header('X-Request-Id'),
],
bash
php artisan vendor:publish --provider="RaditzFarhan\ApiResponse\ApiResponseServiceProvider"