代码之家  ›  专栏  ›  技术社区  ›  Js Lim

Laravel 5跳过异常处理程序

  •  0
  • Js Lim  · 技术社区  · 7 年前

    我正在将支付网关集成到Laravel 5项目中,支付网关网站有一个回调响应,

    e、 g.岗位 http://example.com/payments/response

    但是,如果支付失败,则响应处于419状态。

    我已经创建了一条处理此问题的路径,例如。

    Route::post('payments/response', [
        'as' => 'payments.response',
        'uses' => 'PaymentController@response'
    ]);
    

    但是,它总是落入 应用程序/异常/处理程序。php

    public function render($request, Exception $exception)
    {   
        if (in_array($request->route()->getName(), ['payments.response'])) {
            // HOW TO SKIP THE EXCEPTION HANDLER ???
        }
    
        return parent::render($request, $exception);
    }
    

    我想继续回复到我的 PaymentController ,我该如何实现?

    2 回复  |  直到 7 年前
        1
  •  0
  •   Zulfiqar Tariq    7 年前

    如果您正在调用未定义的方法app/Exceptions/Handler。php您需要将控制器声明为get not post。

        2
  •  0
  •   Js Lim    7 年前

    我明白了。错误实际上是 TokenMismatchException . 因此,我的解决方案是

    编辑 app/Http/Middleware/VerifyCsrfToken。php

    protected $except = [ 
        'payments/response', <------- ADD THIS
    ];
    

    现在可以进入控制器