Skip to content

Commit 11f3886

Browse files
committed
update to v3
1 parent db41ed4 commit 11f3886

File tree

5 files changed

+103
-92
lines changed

5 files changed

+103
-92
lines changed

README.md

Lines changed: 52 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,24 +1,59 @@
11
<p align="center">
2-
<img src="https://raw.githubusercontent.com/kolirt/laravel-api-response/3e46d9c25ba6e7fd096ec57c668125cb2ab985ce/image.svg">
2+
<img src="https://raw.githubusercontent.com/kolirt/laravel-api-response/v2/cover.png">
33
</p>
44

55

66
# Laravel Api Response
77
The package will help to generate json answers.
88

9+
10+
# Structure
11+
- [Getting started](#getting-started)
12+
- [Requirements](#requirements)
13+
- [Installation](#installation)
14+
- [Usage](#usage)
15+
- [Example](#example)
16+
- [Error response](#error-response)
17+
- [Success response](#success-response)
18+
- [Methods](#methods)
19+
- [error](#error)
20+
- [success](#success)
21+
- [setCode](#setcode)
22+
- [setDescription](#setdescription)
23+
- [setErrors](#seterrors)
24+
- [abort](#abort)
25+
- [cookie](#cookie)
26+
- [setData](#setdata)
27+
- [render](#render)
28+
- [FAQ](#faq)
29+
- [License](#license)
30+
- [Other packages](#other-packages)
31+
932
<a href="https://www.buymeacoffee.com/kolirt" target="_blank">
1033
<img src="https://cdn.buymeacoffee.com/buttons/v2/arial-yellow.png" alt="Buy Me A Coffee" style="height: 60px !important;width: 217px !important;" >
1134
</a>
1235

1336

37+
# Getting started
38+
39+
## Requirements
40+
- PHP >= 8.1
41+
- Laravel >= 10
42+
43+
For lesser versions of Laravel or PHP, use the [v2](https://github.com/kolirt/laravel-api-response/tree/v2)
44+
45+
1446
## Installation
47+
```bash
48+
composer require kolirt/laravel-api-response
1549
```
16-
$ composer require kolirt/laravel-api-response
17-
```
1850

1951

52+
# Usage
53+
2054
## Example
21-
Error response.
55+
56+
### Error response
2257
```php
2358
return api()
2459
->error()
@@ -50,7 +85,8 @@ return api()
5085
]
5186
```
5287

53-
Success response.
88+
89+
### Success response
5490
```php
5591
return api()
5692
->success()
@@ -85,28 +121,28 @@ return api()
85121
## Methods
86122

87123
### error
88-
Default response code 400.
124+
Mark response as error.
89125
```php
90126
return api()->error();
91127
```
92128

93129

94130
### success
95-
Default response code 200.
131+
Mark response as success.
96132
```php
97133
return api()->success();
98134
```
99135

100136

101137
### setCode
102-
Set custom response code. Available [codes](https://en.wikipedia.org/wiki/List_of_HTTP_status_codes).
138+
Set specific code to response. Available [codes](https://en.wikipedia.org/wiki/List_of_HTTP_status_codes).
103139
```php
104140
return api()->setCode($code);
105141
```
106142

107143

108144
### setDescription
109-
Set description to response.
145+
Add description to response.
110146
```php
111147
return api()->setDescription(['Description #1', 'Description #2']);
112148
// or
@@ -115,7 +151,7 @@ return api()->setDescription('Description');
115151

116152

117153
### setErrors
118-
Set description to response.
154+
Add errors to response.
119155
```php
120156
return api()->setErrors([
121157
'first_name' => 'Error message',
@@ -125,6 +161,7 @@ return api()->setErrors([
125161

126162

127163
### abort
164+
Abort response with error.
128165
```php
129166
return api()->abort('Error message', 400);
130167
```
@@ -138,27 +175,28 @@ return api()->cookie(cookie('token', 'asdsadsadas', 60 * 3));
138175

139176

140177
### setData
141-
Set data to response.
178+
Add data to response.
142179
```php
143180
return api()->setData(['Data #1', 'Data #2']);
144181
// or
145182
return api()->setData('Data');
146183
```
147184

185+
148186
### render
149187
Render response.
150188
```php
151189
return api()->render();
152190
```
153191

154192

155-
## FAQ
193+
# FAQ
156194
Check closed [issues](https://github.com/kolirt/laravel-api-response/issues) to get answers for most asked questions
157195

158196

159-
## License
197+
# License
160198
[MIT](LICENSE.txt)
161199

162200

163-
## Other packages
201+
# Other packages
164202
Check out my other packages on my [GitHub profile](https://github.com/kolirt)

composer.json

Lines changed: 27 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -1,26 +1,31 @@
11
{
2-
"name": "kolirt/laravel-api-response",
3-
"description": "The package will help to generate json answers.",
4-
"keywords": [
5-
"laravel",
6-
"json response",
7-
"api",
8-
"rest api"
9-
],
10-
"license": "MIT",
11-
"version": "2.0.3",
12-
"authors": [
13-
{
14-
"name": "kolirt"
15-
}
16-
],
17-
"require": {},
18-
"autoload": {
19-
"files": [
20-
"src/helpers.php"
2+
"name": "kolirt/laravel-api-response",
3+
"description": "The package will help to generate json answers.",
4+
"type": "library",
5+
"keywords": [
6+
"laravel",
7+
"json response",
8+
"api",
9+
"rest api"
10+
],
11+
"homepage": "https://github.com/kolirt/laravel-api-response",
12+
"license": "MIT",
13+
"version": "3.0.0",
14+
"authors": [
15+
{
16+
"name": "kolirt"
17+
}
2118
],
22-
"psr-4": {
23-
"Kolirt\\ApiResponse\\": "src"
19+
"require": {
20+
"php": ">=8.1",
21+
"laravel/framework": "^10.0 | ^11.0"
22+
},
23+
"autoload": {
24+
"files": [
25+
"src/helpers.php"
26+
],
27+
"psr-4": {
28+
"Kolirt\\ApiResponse\\": "src"
29+
}
2430
}
25-
}
2631
}

cover.png

42.9 KB
Loading

image.svg

Lines changed: 0 additions & 27 deletions
This file was deleted.

src/Api.php

Lines changed: 24 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -5,20 +5,20 @@
55
class Api
66
{
77

8-
private $responseCode = 200;
9-
private $responseOk = true;
8+
private int $responseCode = 200;
9+
private bool $responseOk = true;
1010

11-
private $description = null;
12-
private $errors = null;
13-
private $data = null;
11+
private string|array|null $description = null;
12+
private array|null $errors = null;
13+
private mixed $data = null;
1414

15-
private $cookies = [];
15+
private array $cookies = [];
1616

1717
/**
1818
* @param int $code
1919
* @return $this
2020
*/
21-
public function error($code = 400)
21+
public function error(int $code = 400): self
2222
{
2323
$this->setResponseOk(false);
2424
$this->setCode($code);
@@ -30,7 +30,7 @@ public function error($code = 400)
3030
* @param int $code
3131
* @return $this
3232
*/
33-
public function success($code = 200)
33+
public function success(int $code = 200): self
3434
{
3535
$this->setResponseOk(true);
3636
$this->setCode($code);
@@ -39,47 +39,43 @@ public function success($code = 200)
3939
}
4040

4141
/**
42-
* @param $text
42+
* @param string|array $text
4343
* @return $this
4444
*/
45-
public function setDescription($text)
45+
public function setDescription(string|array $text): self
4646
{
4747
$this->description = $text;
4848

4949
return $this;
5050
}
5151

5252
/**
53-
* @param $errors
53+
* @param array $errors
5454
* @return $this
5555
*/
56-
public function setErrors($errors, $errored = true)
56+
public function setErrors(array $errors): self
5757
{
58-
if ($errored) {
59-
$this->setResponseOk(false);
60-
$this->setCode(422);
61-
}
6258
$this->errors = $errors;
6359

6460
return $this;
6561
}
6662

6763
/**
68-
* @param $code
64+
* @param int $code
6965
* @return $this
7066
*/
71-
public function setCode($code)
67+
public function setCode(int $code): self
7268
{
7369
$this->responseCode = $code;
7470

7571
return $this;
7672
}
7773

7874
/**
79-
* @param $data
75+
* @param mixed $data
8076
* @return $this
8177
*/
82-
public function setData($data)
78+
public function setData(mixed $data): self
8379
{
8480
$this->data = $data;
8581

@@ -90,7 +86,7 @@ public function setData($data)
9086
* @param $cookie
9187
* @return $this
9288
*/
93-
public function cookie($cookie)
89+
public function cookie($cookie): self
9490
{
9591
$this->cookies[] = $cookie;
9692

@@ -128,11 +124,10 @@ public function render()
128124
}
129125

130126
/**
131-
* @param $message
127+
* @param string|array $message
132128
* @param int $code
133-
* @return $this
134129
*/
135-
public function abort($message, $code = 400)
130+
public function abort(string|array $message, int $code = 400): void
136131
{
137132
$response = $this->error($code)->setDescription($message)->render();
138133
abort($response);
@@ -146,27 +141,27 @@ public function __toString()
146141
return $this->render();
147142
}
148143

149-
private function setResponseOk($status)
144+
private function setResponseOk(bool $status): void
150145
{
151146
$this->responseOk = $status;
152147
}
153148

154-
private function getResponseCode()
149+
private function getResponseCode(): int
155150
{
156151
return $this->responseCode;
157152
}
158153

159-
private function getResponseOk()
154+
private function getResponseOk(): bool
160155
{
161156
return $this->responseOk;
162157
}
163158

164-
private function getDescription()
159+
private function getDescription(): array|string|null
165160
{
166161
return $this->description;
167162
}
168163

169-
private function getErrors()
164+
private function getErrors(): ?array
170165
{
171166
return $this->errors;
172167
}

0 commit comments

Comments
 (0)