php - 移动时无法识别 api 中的路由但在同一范围内
问题描述
当我从 api 路由中移动一条路由时,它消失了,我发现了一个未找到的错误。但它在同一条路线上移动::group
我已经尝试过 route:cache, route:clear, route config 但没有任何用处,它可以工作:
Route::get('asistencias/all', 'AsistenciaController@all')->name('asistencias.all');
Route::get('asistencias/{asistencia}', 'AsistenciaController@show')->name('asistencias.show');
Route::put('asistencias/{asistencia}', 'AsistenciaController@update')->name('asistencias.update');
Route::delete('asistencias/{asistencia}', 'AsistenciaController@destroy')->name('asistencias.delete');
但是这个小小的改变不会:
Route::get('asistencias/{asistencia}', 'AsistenciaController@show')->name('asistencias.show');
Route::put('asistencias/{asistencia}', 'AsistenciaController@update')->name('asistencias.update');
Route::delete('asistencias/{asistencia}', 'AsistenciaController@destroy')->name('asistencias.delete');
Route::get('asistencias/all', 'AsistenciaController@all')->name('asistencias.all');
解决方案
在第二个示例中,带有参数的路由asistencias/{asistencia}
将匹配这样的路径,asistencias/all
以便使用该路由,而不是定义为asistencias/all
好像请求是 for的路径asistencias/all
。
Route::get('asistencias/{asistencia}', 'AsistenciaController@show')->name('asistencias.show');
Route::get('asistencias/all', 'AsistenciaController@all')->name('asistencias.all');
第一个匹配的路由被使用。
asistencia/all
您的第一个示例定义了之前的路线asistencia/{asistencia}
。
Route::get('asistencias/all', 'AsistenciaController@all')->name('asistencias.all');
Route::get('asistencias/{asistencia}', 'AsistenciaController@show')->name('asistencias.show');
推荐阅读
- android - 如何在 Android 继承的 Activity 类中创建 Handler 和 Runnable 对象
- php - 有没有人有使用 php yii 应用程序的 G Suite SSO 的经验?
- javascript - 将类添加到 svg 类的 Javascript 代码未在 html 中显示
- python - Pandas:创建某些名称的 total_count 列
- r - 从民主辩论中划定文本
- javascript - 页面因未知原因冻结
- c++ - 如何返回函数的指针并用作参数?
- hadoop - HDFS 空间配额 - 如果父文件夹的配额少于其子文件夹怎么办
- c# - ManualResetEventSlim 阻塞线程,即浪费它们?
- c# - 在 FetchXML 中检索链接实体的属性值