hafizmmoaz / laravel-rest-api
A minimal, reusable REST API toolkit for Laravel: consistent JSON responses, a typed exception hierarchy, and base API model/controller.
v1.0.0
2026-06-29 10:12 UTC
Requires
- php: >=8.1
- illuminate/database: ^10.0|^11.0|^12.0
- illuminate/http: ^10.0|^11.0|^12.0
- illuminate/routing: ^10.0|^11.0|^12.0
- illuminate/support: ^10.0|^11.0|^12.0
README
A minimal, reusable REST API toolkit for Laravel.
Namespace: HafizMMoaz\RestApi
Provides:
ApiResponse—ApiResponse::success($data, $message)/ApiResponse::error($message, $status, $code, $details)for consistent JSON envelopes.- A typed exception hierarchy under
HafizMMoaz\RestApi\Exceptions—ApiException(base) plusResourceNotFoundException,RelatedResourceNotFoundException,ValidationException,UnauthorizedException,UnauthenticationException. Each carries an HTTP status code and renders to a JSON error response. ApiModel/ApiController— thin base classes to group API resources/endpoints.
Installation
composer require hafizmmoaz/laravel-rest-api
The service provider HafizMMoaz\RestApi\Providers\ApiServiceProvider is
auto-discovered. It registers a renderer so any thrown ApiException is
returned as its JSON error response automatically.
Usage
use HafizMMoaz\RestApi\ApiResponse; use HafizMMoaz\RestApi\Exceptions\ResourceNotFoundException; return ApiResponse::success($user, 'OK'); throw new ResourceNotFoundException('User not found');
License
MIT — see LICENSE.