Dove prendo eccezione MethodNotAllowedHttpException in laravel 5. In laravel 4 posso fare questo in start/global.php
laravel 5 - Come si gestiscono MethodNotAllowedHttpException
5
A
risposta
14
// Exceptions/Handler.php
use Symfony\Component\HttpKernel\Exception\MethodNotAllowedHttpException;
public function render($request, \Exception $e)
{
if ($e instanceof MethodNotAllowedHttpException) {
// …
}
return parent::render($request, $e);
}
+0
Se hai un problema nell'usare 'code'instanceof'code' con php 7.1 puoi usare' code'is_a() 'code'. Se qualcuno ha una spiegazione del perché non ho ottenuto 'code'true'code' con' code'instanceof'code'? Grazie. –
3
In Laravel 5.4
, l'ho fatto in questo modo:
posizione File: app/eccezioni/Handler.php
Aggiungere questo codice all'inizio del file:
use Symfony\Component\HttpKernel\Exception\MethodNotAllowedHttpException;
e modificare il codice del metodo come belows:
/**
* Render an exception into an HTTP response.
*
* @param \Illuminate\Http\Request $request
* @param \Exception $exception
* @return \Illuminate\Http\Response
*/
public function render($request, Exception $exception)
{
if ($exception instanceof MethodNotAllowedHttpException)
{
return response()->json([
'success' => 0,
'message' => 'Method is not allowed for the requested route',
], 405);
}
return parent::render($request, $exception);
}
Perché vuoi prenderlo? Se invii una richiesta POST su una route GET otterrai questa eccezione –