ngekoding / lumen-api-query-parser-php5
基于Laravel的Lumen框架的REST-API查询解析器
dev-master
2019-05-22 04:23 UTC
Requires
- php: >=5.6
- laravel/lumen-framework: ~5.4
Requires (Dev)
- mockery/mockery: ~0.9
- phpunit/phpunit: ~5.1
- squizlabs/php_codesniffer: 3.0.0RC4
This package is auto-updated.
Last update: 2024-09-22 16:36:51 UTC
README
!!! 我已编辑原始包以支持php5 !!!
原始包在这里
- https://github.com/ngabor84/lumen-api-query-parser
- https://packagist.org.cn/packages/ngabor84/lumen-api-query-parser
如果您需要php5支持,则可以使用此包。但如果您已使用php7,请使用原始包。
描述
这是一个基于Laravel的Lumen框架的简单请求查询参数解析器。
要求
- PHP >=5.6
- Lumen框架 >= 5.4
- Mockery >= 0.9 (dev)
- PHPUnit >= 6.1 (dev)
- PHP CodeSniffer >= 3.0.0 RC4 (dev)
安装
- 将 ngekoding/lumen-api-query-parser-php5 添加到您的 composer.json 并运行 composer update,或者运行 composer require ngekoding/lumen-api-query-parser-php5 ~1.0
- 设置服务提供者:在 bootstrap/app.php 中添加以下行
$app->register(LumenApiQueryParser\Provider\RequestQueryParserProvider::class);
使用方法
// app/API/V1/Models/UserController.php namespace App\Api\V1\Http\Controllers; use App\Api\V1\Models\User; use App\Api\V1\Transformers\UserTransformer; use LumenApiQueryParser\ResourceQueryParserTrait; use LumenApiQueryParser\BuilderParamsApplierTrait; class UserController extends Controller { use ResourceQueryParserTrait; use BuilderParamsApplierTrait; public function index(Request $request) { $params = $this->parseQueryParams($request); $query = User::query(); $userPaginator = $this->applyParams($query, $params); $this->response->paginator($userPaginator, new UserTransformer, ['key' => 'users']); } }
查询语法
急切加载
Q: /users?includes[]=profile
R: 将返回包含其个人资料的用户的集合
筛选
Q: /users?filter[]=name:ct:admin
R: 将返回包含“admin”字符串的用户的集合
可用的筛选选项
排序
Q: /users?sort[]=name:ASC
R: 将返回按姓名升序排序的用户的集合
分页
Q: /users?limit=10&page=3
R: 将返回用户集合的一部分(从第21项到第30项)