2016-06-22 18 views
0

私は405 MethodNotAllowedHttpExceptionを送出する問題があります。 リソースPointControllerに更新要求の検証を追加しようとしています。ただし、@updateメソッドの検証が無視されている場合は検証が行われます(Pointは検証なしで更新されます)。だから私はlaracastで見つかったanwsers私はこのような何かを作成しました:Laravel 5.2 RESTコントローラでのPUT/PATCH要求の検証

class PointRequest extends Request{ 
public function authorize() 
{ 
     return true; 
} 
public function rules() 
{ 
    switch($this->method()) 
    { 
    case 'GET': 
    case 'DELETE': 
    { 
    return[]; 
    } 
    case 'POST': 
    { 
    return [ 
      'name' =>'required|min:4', 
      'latitude' => 'required|numeric|unique_with:points,longitude', 
      'longitude' => 'required|numeric' 
      ]; 
    } 
    case 'PUT': 
    case 'PATCH': 
    { 
    return [ 
      'name' =>'required|min:4', 
      'latitude' => 'required|numeric|unique_with:points,longitude', 
      'longitude' => 'required|numeric|unique_with:points,latitude'//will add ignore current row 
      ]; 
    } 
    default:break; 
    } 
} 
} 

悲しいことにうまくいきません。私のアプリケーションをテストするために、x-www-form-urlencodedでPOSTMANを使用しています。私のプロジェクトの一般的なアイデアは、jsonsによってサーバーアプリケーション(laravel)と通信するネイティブアンドロイドアプリがあることです。だから私は、これは私の場合は関連性があるとは思わない:ここでは

form action="/foo/bar" method="POST" 
input type="hidden" name="_method" value="PUT" 

がPointController

public function update(PointRequest $request, $id) 
{//code// 

の一部であり、私はどこか重大な間違いをしましたか? laravelがPUT/PATCHのリクエストを検証する方法を教えてください。ここに私の最初の質問ですので、私は正しい方法で願っています。

答えて

0

上記のリクエストにrouteを作成しましたか?

LaravelのHTTP 405エラーの大半は、不正確に定義されたルートによって引き起こされるか、まったく要求された方法に対してルートが定義されていないことが原因です。このよう

Route::post('/urlPatchRequest', '[email protected]') 
+0

私がやった:ルートを::リソース( 'ポイント'、 'PointController'); – NiebieskiMak

関連する問題