Laravelリソースコントローラを使用してモックアップAPIを構築すると、get createを呼び出すときにデフォルトのLaravelリソースルートをオーバーライドするまで上手く動作しますが、Laravelは上書きを受け付けません。ドキュメントには次のように記載されています。Laravel 5.2デフォルトの動作をオーバーライドするリソースルーティング
デフォルトのリソースルートを超えてリソースコントローラに追加のルートを追加する必要がある場合は、Route :: resourceの呼び出し前にこれらのルートを定義する必要があります。それ以外の場合は、リソースの方法で定義されたルートが意図せずにあなたの補足のルートよりも優先されることがあります。私のコードで
を、私は、次のしている:
routes.phpの
Route::group(['prefix' => 'api/v1', 'middleware' => 'cors'], function() {
Route::get('test/create', 'V1\Universal\[email protected]');
Route::resource('test', 'V1\Universal\TestController');
});
TestController.php
public function create2()
{
return "create 2 override function";
}
public function create()
{
return "create default function";
}
API/api/v1/test /を呼び出すと、常にcreate()メソッドが呼び出されます。 n create2()メソッド。 Laravelのドキュメントによると、私のカスタム追加ルートは、リソースの前に定義されているように優先されるべきです。
すべてのアイデア?