Php Laravel更改密码重置响应

Php Laravel更改密码重置响应,php,laravel,Php,Laravel,我正在Laravel5.3中构建一个API,我必须在重置密码时更改默认响应 那么,在不改变框架的情况下,我如何做到这一点呢。我想要的是: /** * Get the response for a successful password reset. * * @param string $response * @return \Illuminate\Http\Response */ protected function sendRe

我正在Laravel5.3中构建一个API,我必须在重置密码时更改默认响应

那么,在不改变框架的情况下,我如何做到这一点呢。我想要的是:

  /**
     * Get the response for a successful password reset.
     *
     * @param  string  $response
     * @return \Illuminate\Http\Response
     */
    protected function sendResetResponse($response)
    {
        return response()->json(['success' => trans($response)]);
    }

    /**
     * Get the response for a failed password reset.
     *
     * @param  \Illuminate\Http\Request
     * @param  string  $response
     * @return \Illuminate\Http\Response
     */
    protected function sendResetFailedResponse(Request $request, $response)
    {
        return response()->json(['error' => trans($response)], 401);
    }
在我的
ResetPasswords
trait中,位于此处
\illumb\Foundation\Auth\ResetPasswords

默认响应为:

/**
     * Get the response for a successful password reset.
     *
     * @param  string  $response
     * @return \Illuminate\Http\Response
     */
    protected function sendResetResponse($response)
    {
        return redirect($this->redirectPath())
                            ->with('status', trans($response));
    }

    /**
     * Get the response for a failed password reset.
     *
     * @param  \Illuminate\Http\Request
     * @param  string  $response
     * @return \Illuminate\Http\Response
     */
    protected function sendResetFailedResponse(Request $request, $response)
    {
        return redirect()->back()
                    ->withInput($request->only('email'))
                    ->withErrors(['email' => trans($response)]);
    }
我想要的是:

  /**
     * Get the response for a successful password reset.
     *
     * @param  string  $response
     * @return \Illuminate\Http\Response
     */
    protected function sendResetResponse($response)
    {
        return response()->json(['success' => trans($response)]);
    }

    /**
     * Get the response for a failed password reset.
     *
     * @param  \Illuminate\Http\Request
     * @param  string  $response
     * @return \Illuminate\Http\Response
     */
    protected function sendResetFailedResponse(Request $request, $response)
    {
        return response()->json(['error' => trans($response)], 401);
    }

那么,如何在不更改框架的情况下实现这一点呢?

将第二个代码块中的方法复制到ResetPasswordController。这将覆盖使用该特性的控制器中该特性的方法

这样做,您就不会对Laravel框架进行更改,并且您所做的更改也不会在下次安装composer时丢失