1234567891011121314151617181920212223242526272829303132333435363738 |
- <?php
- namespace App\Http\Controllers\Api;
- use Illuminate\Http\Request;
- use App\Http\Controllers\Controller;
- class ApiController extends Controller {
- public function json($res, $headers = [], $code = 200) {
- return response()->json($res, $code, $this->filterHeaders($headers), JSON_UNESCAPED_SLASHES);
- }
- public function linksForCollection($paginator) {
- $link = null;
- if ($paginator->onFirstPage()) {
- if ($paginator->hasMorePages()) {
- $link = '<'.$paginator->nextPageUrl().'>; rel="prev"';
- }
- } else {
- if ($paginator->previousPageUrl()) {
- $link = '<'.$paginator->previousPageUrl().'>; rel="next"';
- }
- if ($paginator->hasMorePages()) {
- $link .= ($link ? ', ' : '').'<'.$paginator->nextPageUrl().'>; rel="prev"';
- }
- }
- return $link;
- }
- private function filterHeaders($headers) {
- return array_filter($headers, function($v, $k) {
- return $v != null;
- }, ARRAY_FILTER_USE_BOTH);
- }
- }
|