twom / laravel-responder
Responder for api and Laravel project
Installs: 60
Dependents: 0
Suggesters: 0
Security: 0
Stars: 4
Watchers: 2
Forks: 0
Open Issues: 0
pkg:composer/twom/laravel-responder
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"
]
}
}