Laravel 3RESTfulAPIプロジェクトには次のルートがあります
Route::delete('/(:any)', 'resources@destroy');
Route::delete('users/(:any)', 'users@destroy');
私が抱えている問題は、ユーザーが削除リクエストを/users/に送信するときです。
私がしたいのは、users@destroy
ルートがパラメーターで呼び出されることnull
です。私のコントローラーでは、ユーザーがnull
リソースを削除しようとしているという例外があります。
起こっているように見えるのは、resource@destroy
ルートがパラメータで呼び出されていることusers
です。これは明らかに、ユーザーリソースを削除するという望ましくない影響を及ぼします。
.htaccessを変更できることはわかっていますが、技術的には/users/はリソースコントローラーではなくユーザーコントローラーに属しています。その関係を維持したい。
Laravel内からこれを解決する簡単な方法があるかどうか疑問に思いましたか?
編集:以下の答えで上記を機能させます。getルートにエラーがあります
Route::get('users/(:any?)', 'users@show');
Route::get('users', 'users@index');
/usersと/users/はどちらも、私が望まないusers@indexを呼び出します。
users@indexに移動するにはGET/usersが必要であり、nullパラメーターを使用してusers@showに移動するにはGET/users/が必要です。