Я пытаюсь разработать RESTful API с Laravel 5.2. Я наткнулся на то, как вернуть неудачную авторизацию в формате JSON. В настоящее время он выбрасывает ошибку страницы 403 вместо JSON.Как вернуть 403 ответ в формате JSON в Laravel 5.2?
Контроллер: TenantController.php
class TenantController extends Controller
{
public function show($id)
{
$tenant = Tenant::find($id);
if($tenant == null) return response()->json(['error' => "Invalid tenant ID."],400);
$this->authorize('show',$tenant);
return $tenant;
}
}
Политика: TenantPolicy.php
class TenantPolicy
{
use HandlesAuthorization;
public function show(User $user, Tenant $tenant)
{
$users = $tenant->users();
return $tenant->users->contains($user->id);
}
}
Разрешение в настоящее время работает нормально, но он показывает вверх 403 запрещенную страницу вместо возврата ошибки JSon. Можно ли вернуть его как JSON для 403? И, возможно ли сделать это глобальным для всех неудачных авторизаций (не только в этом контроллере)?
Я хотел бы использовать библиотеку 3rd партии, как динго/API. Он обрабатывал это для вас, а также для управления версиями и трансформаторами. https://github.com/dingo/api – musicvicious