私は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のリクエストを検証する方法を教えてください。ここに私の最初の質問ですので、私は正しい方法で願っています。
私がやった:ルートを::リソース( 'ポイント'、 'PointController'); – NiebieskiMak