twom / laravel-responder
There is no license information available for the latest version (1.3) of this package.
Responder for api and Laravel project
1.3
2020-06-14 17:02 UTC
Requires
- php: >=7.2
- laravel/framework: >=5.8
README
Installation:
composer require twom/laravel-responder
You must add the service provider to config/app.php
for load lang
'providers' => [ // for laravel 5.8 and below \Twom\Responder\ResponderServiceProvider::class, ];
The response schema:
{ "status": "success or error", "status_code": 200, "message": "your setted message", "data": "your data", "errors": "your errors" }
Note: support of fa and en languages.
Respond types:
method | description |
---|---|
respond(array $data = []) |
default is successfully respond. merge $data with default schema |
respondValidationError($errors = []) |
validation error code 422 |
respondCreated($data = null) |
created code 201. you can set data from this method input |
respondUpdated($data = null) |
updated code 200. you can set data from this method input |
respondDeleted() |
deleted successfully response with code 200 |
respondBadRequest() |
response bad request error code 400 |
respondNotFound() |
response not found page error code 404 |
respondInternalError() |
response internal error code 500 |
respondUnauthorizedError() |
response unauthorize error code 401 |
Setters methods:
method | description |
---|---|
setStatusCode($statusCode) |
set the status_code in default schema |
setMessage($message, $mode = null) |
set the message in default schema. the $mode parameter can be `created |
setRespondData($data) |
set the data in default schema |
appendRespondData($data) |
append the data in default schema |
setRespondError($error) |
set the errors in default schema |
Example:
Note: you must use of this facade.
use Twom\Responder\Facade\Responder; // use of this
normal respond:
return Responder::respond();
output:
{ "status_code": 200, "status": "success", "message": "operation successfully!" }
Note: default mode is successfully operation.
Custom respond:
return Responder::respond([ "status" => "my status", "status_code"=> 300, "message" => "custom message", ]);
output:
{ "status_code": 300, "status": "my status", "message": "custom message" }
Validation error respond:
return Responder::respondValidationError([ 'title' => [ 'the title field is required.', // ...another errors ], // ... another fields ]);
output:
{ "status_code": 422, "status": "error", "errors": { "title": [ "the title field is required." ] }, "message": "validation error!" }
Created respond:
return Responder::respondCreated(); // or return Responder::respondCreated("the created object");
output:
{ "status_code": 201, "status": "success", "data": "the created object", "message": "operation successfully!" }
Bad request respond:
return Responder::respondBadRequest();
output:
{ "status_code": 400, "status": "error", "message": "operation has error!" }
Use setters:
return Responder::setMessage("test message") ->setRespondData(["the data"]) ->setRespondError(["title"=> ["errors"]]) ->setStatusCode(203) ->respond();
output:
{ "status_code": 203, "status": "success", "message": "test message", "data": [ "the data" ], "errors": { "title": [ "errors" ] } }