Skip to content

Commit bfbacd9

Browse files
committed
add readme
1 parent 7260a81 commit bfbacd9

File tree

2 files changed

+47
-3
lines changed

2 files changed

+47
-3
lines changed

README.md

Lines changed: 46 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,46 @@
1-
# lumen-api-query-parser
2-
A query parser for REST-APIs based on laravel's lumen framework
1+
# Lumen API query parser
2+
3+
## Description
4+
This is a simple request query parameter parser for REST-APIs based on Laravel's Lumen framework.
5+
6+
## Requirements
7+
- PHP >=7.1
8+
- Lumen framework >= 5.4
9+
- Mockery >= 0.9
10+
- PHPUnit >= 6.1
11+
- PHP CodeSniffer >= 3.0.0 RC4
12+
13+
## Installation
14+
- Add ngabor84/lumen-api-query-parser to your composer.json and make composer update, or composer require ngabor84/lumen-api-query-parser ~1.0
15+
- Setup the service provider:
16+
in bootstrap/app.php add the following line:
17+
```php
18+
$app->register(LumenApiQueryParser\Provider\RequestQueryParserProvider::class);
19+
```
20+
21+
## Usage
22+
```php
23+
// app/API/V1/Models/UserController.php
24+
namespace App\Api\V1\Http\Controllers;
25+
26+
use App\Api\V1\Models\User;
27+
use App\Api\V1\Transformers\UserTransformer;
28+
use LumenApiQueryParser\ResourceQueryParserTrait;
29+
use LumenApiQueryParser\BuilderParamsApplierTrait;
30+
31+
class UserController extends Controller
32+
{
33+
use ResourceQueryParserTrait;
34+
use BuilderParamsApplierTrait;
35+
36+
public function index(Request $request)
37+
{
38+
$params = $this->parseQueryParams($request);
39+
$query = User::query();
40+
$this->applyParams($query, $params);
41+
$users = $query->get();
42+
43+
$this->response->paginator($users, new UserTransformer, ['key' => 'users']);
44+
}
45+
}
46+
```

composer.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414
}
1515
],
1616
"require": {
17-
"php": "~7.0",
17+
"php": "~7.1",
1818
"laravel/lumen-framework": "~5.4"
1919
},
2020
"require-dev": {

0 commit comments

Comments
 (0)