laravel api kullanırken limit koyarsanız ve o limiti aşarsak “too many request” diye bir html sayfası göstermekteyiz. ya kardeş api bu hatayı da geri dönerken bunu json olarak göndersene. bunun için şu yöntemi yapıyoruz.
aç abi şu sayfasyı: app/Exceptions/Handler.php
en üste ilk önce şu classı tanımlayın
1 |
use Symfony\Component\HttpKernel\Exception\HttpException; |
1 |
public function render($request, Throwable $exception) |
şu kod satırının hemen altına içindekini silmeden
1 2 3 4 5 6 7 8 9 |
if($exception instanceof HttpException && $exception->getStatusCode() == 429) { return response()->json([ "status" => 'failure', "error" => 'Çok fazla istekte bulundunuz. 1 dk sonra tekrar deneyiniz', 'code' => 429, "data" => [] ], 429)->withHeaders($exception->getHeaders()); } |
bu kadar amk ya bu kadar ya.
limit koymayı da yazayım bana lazım olur.
1 2 3 |
Route::middleware('auth:api', 'throttle:60,1')->group(function () { Route::get('/countries/', 'Api\@getCountryList'); }); |