2015-05-16 16 views
5

मैं Laravel 5 में MethodNotAllowedHttpException अपवाद laravel 4 में मैं start/global.phpLaravel 5 मैं किस तरह MethodNotAllowedHttpException

+0

क्यों आप इसे पकड़ने के लिए चाहते हैं? यदि आप किसी GET मार्ग पर POST अनुरोध भेज रहे हैं तो आपको वह अपवाद मिलेगा –

उत्तर

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

यदि आपको php 7.1 के साथ 'code'instanceof'code' का उपयोग करने में कोई समस्या है तो आप' code'is_a() 'code' का उपयोग कर सकते हैं। अगर किसी के पास स्पष्टीकरण है तो मुझे 'code'trance'code' के साथ' code'true'code' क्यों नहीं मिला? धन्यवाद। –

3

में ऐसा कर सकते हैं Laravel 5.4 में कहाँ पकड़ है संभाल, मैं इसे इस तरह किया था फ़ाइल स्थान:

: एप्लिकेशन/अपवाद/Handler.php

फ़ाइल के शीर्ष पर यह कोड जोड़ें

use Symfony\Component\HttpKernel\Exception\MethodNotAllowedHttpException; 

और 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); 
    } 
संबंधित मुद्दे