eventhomes / laravel-fractalhelper
兼容Laravel 5+和Lumen 5+
2.0.1
2020-01-28 10:33 UTC
Requires
- php: ^7.2
- eventhomes/laravel-apicontroller: ^2.0
- league/fractal: ~0.13
README
一个简单的API控制器助手,利用league fractal。您还可以获得https://github.com/eventhomes/laravel-apicontroller提供的所有功能。
安装
composer require eventhomes/laravel-fractalhelper
基本用法
默认情况下,此助手将使用ArraySerializer(),无需设置。但是,您可能需要解析GET包含项。
... use EventHomes\Api\FractalHelper; class MyController extends Controller { use FractalHelper; public function __construct(Request $request) { $this->parseIncludes($request->get('includes', '')); } }
自定义Fractal
如果您需要更改默认的ArraySerializer(),可以进行修改。
... use EventHomes\Api\FractalHelper; class MyController extends Controller { use FractalHelper; public function __construct(Manager $manager, Request $request) { $manager->setSerializer(new JsonApiSerializer); $this->setFractal($manager)->parseIncludes($request->get('includes', '')); } }
响应单个项目
public function show($id) { $user = User::find($id); return $this->respondWithItem($user, new UserTransformer); }
响应集合
public function index() { $users = User::all(); return $this->respondWithCollection($users, new UserTransformer); }
响应分页集合
public function index() { $users = User::paginate(10); return $this->respondWithCollection($users, new UserTransformer); }