thuraaung2493/laravel-api-helpers
Composer 安装命令:
composer require thuraaung2493/laravel-api-helpers
包简介
A simple package for creating API endpoints with Laravel.
README 文档
README
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. |
统计信息
- 总下载量: 34
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 0
- 点击次数: 1
- 依赖项目数: 1
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2023-06-04