LaravelPackages.net
Acme Inc.
Toggle sidebar
thuraaung2493/laravel-api-helpers

A simple package for creating API endpoints with Laravel.

35
0
About thuraaung2493/laravel-api-helpers

thuraaung2493/laravel-api-helpers is a Laravel package for a simple package for creating api endpoints with laravel.. It currently has 0 GitHub stars and 35 downloads on Packagist. Install it with composer require thuraaung2493/laravel-api-helpers. Discover more Laravel packages by thuraaung2493 or browse all Laravel packages to compare alternatives.

Last updated

Laravel API Helpers

It supports Laravel 9+ and PHP 8.1+

Description

This package contains many utility classes that assist in API creation.

Installation

Laravel

Require this package with composer using the following command:

composer require thuraaung2493/laravel-api-helpers@dev

Usage

Helper Classes for Json API Responses

All API Response classes implement the Responsable interface.

| Class | Description | | ----------------------------------------------------------------------- | ---------------------------------------------------- | | Thuraaung\ApiHelpers\Http\Responses\ModelResponse::class | It returns json response for JsonResource. | | Thuraaung\ApiHelpers\Http\Responses\CollectionResponse::class | It returns json response for CollectionResource. | | Thuraaung\ApiHelpers\Http\Responses\PaginatedResponse::class | It returns json response for PaginationResource. | | Thuraaung\ApiHelpers\Http\Responses\MessageResponse::class | It returns json response for Message. | | Thuraaung\ApiHelpers\Http\Responses\TokenResponse::class | It returns json response for Token. | | Thuraaung\ApiHelpers\Http\Responses\ApiErrorResponse::class | It returns json response for Errors. | | Thuraaung\ApiHelpers\Http\Responses\ApiValidationErrorsResponses::class | It returns json response for Validations. |

Response Formats see in responses.json

// Response Format for ModelResponse|CollectionResponse|MessageResponse|TokenResponse
{
    "data": "",
    "message": "Success.",
    "status": 200
}
// Response Format for ApiErrorResponse
{
    "title": "Error!",
    "description": "Error Description",
    "status": 500
}
// Response Format for ApiValidationErrorsResponse
{
    "title": "Error!",
    "errors": [],
    "status": 422
}

Middleware Classes

| Class | Description | | ---------------------------------------------------------------- | ----------------------------------------------------- | | Thuraaung\ApiHelpers\Http\Middleware\GzipEncodingResponse::class | It is used to apply Gzip encoding to API responses. | | Thuraaung\ApiHelpers\Http\Middleware\JsonApiResponse::class | It is used to apply default headers to API responses. |

To change default headers in config

php artisan vendor:publish --tab=api-helpers

DataObjects

| Class | Description | | -------------------------------------------------------------------- | ------------------------------------ | | Thuraaung\ApiHelpers\DataObjects\Header::class | Header Data Object. | | Thuraaung\ApiHelpers\DataObjects\Http\Headers\Accept::class | Accept Header Data Object. | | Thuraaung\ApiHelpers\DataObjects\Http\Headers\AcceptEncoding::class | Accept Encoding Header Data Object. | | Thuraaung\ApiHelpers\DataObjects\Http\Headers\ContentEncoding::class | Content Encoding Header Data Object. | | Thuraaung\ApiHelpers\DataObjects\Http\Headers\ContentLength::class | Content Length Header Data Object. | | Thuraaung\ApiHelpers\DataObjects\Http\Headers\ContentType::class | Content Type Header Data Object. |

Example

  $accept = Accept::of(
    type: ContentType::JSON
  );

  // Turn to Header
  $accept->asHeader();
  // new Header(
  //   key: 'Accept',
  //   value: 'application/json',
  // );

  // Turn to headers array
  $accept->headers();
  // [
  //   'Accept' => 'application/json',
  // ]

Enums

| Class | Description | | -------------------------------------------------------------- | ------------------------- | | Thuraaung\ApiHelpers\Http\Enums\Status::class | HTTP Status. | | Thuraaung\ApiHelpers\Http\Enums\Scheme::class | Scheme. | | Thuraaung\ApiHelpers\Http\Enums\Methods::class | Request Methods. | | Thuraaung\ApiHelpers\Http\Enums\Headers\Connection::class | Connection Headers. | | Thuraaung\ApiHelpers\Http\Enums\Headers\ContentEncoding::class | Content Encoding Headers. | | Thuraaung\ApiHelpers\Http\Enums\Headers\ContentType::class | Content Type Headers. |

Comments