为了账号安全,请及时绑定邮箱和手机立即绑定

如何在 laravel 中翻译油门?

如何在 laravel 中翻译油门?

PHP
不负相思意 2022-01-24 09:13:48
我正在使用 Laravel 5.7 版本。我正在使用throttleinKernel.php来避免用户发送超过 60 个查询。我想翻译它的消息“Too Many Attempts”。并使用自己的消息。我怎样才能在laravel中做到这一点?我在哪里可以找到那个?
查看完整描述

4 回答

?
叮当猫咪

TA贡献1776条经验 获得超12个赞

use Symfony\Component\HttpKernel\Exception\HttpException;


if($exception instanceof HttpException && $exception->getStatusCode() == 429) {

return response()->json([

'message' => 'Too Many Attempts',

'code' => 429

], 429)->withHeaders($exception->getHeaders());

}


查看完整回答
反对 回复 2022-01-24
?
GCT1015

TA贡献1827条经验 获得超4个赞

在您的 Laravel 异常处理程序中,您可以在渲染之前处理该异常并将该异常替换为您的自定义异常。


在app/Exceptions/Handler.php


/**

 * Render an exception into an HTTP response.

 *

 * @param  \Illuminate\Http\Request  $request

 * @param  \Exception  $exception

 * @return \Illuminate\Http\Response|\Illuminate\Http\JsonResponse

 */

public function render($request, Exception $exception)

{

    if($exception instanceof ThrottleRequestsException) {

        return parent::render(

            $request, new ThrottleRequestsException(

                'Your message',

                $exception->getPrevious(),

                $exception->getHeaders(),

                $exception->getCode()

            )

        );

    }


    return parent::render($request, $exception);

}


查看完整回答
反对 回复 2022-01-24
?
阿波罗的战车

TA贡献1862条经验 获得超6个赞

您可以在app/Http/Middlewares文件夹中创建自定义中间件,扩展基\Illuminate\Routing\Middleware\ThrottleRequests类并覆盖buildException方法(此处为原始实现)。

然后将throttle中间件分配给您的自定义中间件类Kernel.php


查看完整回答
反对 回复 2022-01-24
?
精慕HU

TA贡献1845条经验 获得超8个赞

我在 Laravel 的这个地址找到了它的文件: vendor\laravel\framework\src\llluminate\Routing\Middleware\ThrottleRequests.php


protected function buildException($key, $maxAttempts)

    {

        $retryAfter = $this->getTimeUntilNextRetry($key);


        $headers = $this->getHeaders(

            $maxAttempts,

            $this->calculateRemainingAttempts($key, $maxAttempts, $retryAfter),

            $retryAfter

        );


        return new ThrottleRequestsException(

            'You can change message here and put your message!', null, $headers

        );

    }


查看完整回答
反对 回复 2022-01-24
  • 4 回答
  • 0 关注
  • 147 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信