2016-11-04 2 views
2

Ich baue eine API in Laravel 5.3 und ich muss die Standardantwort ändern, wenn ein Passwort zurückgesetzt wird.Laravel Passwort ändern Antwort zurücksetzen

Also wie würde ich dies tun, ohne Änderungen am Framework vorzunehmen. Was ich will, ist dies:

In meinem ResetPasswords Merkmal hier befindet \Illuminate\Foundation\Auth\ResetPasswords

Die Standardantwort ist:

/** 
    * 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)]); 
    } 

Was ich will, ist dies:

/** 
    * 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); 
    } 

So wie kann ich das erreichen, ohne Änderungen am Framework vorzunehmen?

Antwort

1

Kopieren Sie die Methoden in Ihrem zweiten Codeblock zu Ihrem ResetPasswordController. Dies überschreibt die Methoden der Eigenschaft in dem Controller, der sie verwendet.

Dadurch nehmen Sie keine Änderungen am Laravel-Framework vor und Ihre Änderungen gehen bei einer nächsten Composer-Installation nicht verloren.

Verwandte Themen