【问题标题】:Laravel call different controller for same resource routeLaravel 为相同的资源路由调用不同的控制器
【发布时间】:2021-05-26 14:08:42
【问题描述】:

我在我的 api.php 中创建了一个资源控制器和路由。现在我想像 Route 2 一样创建一条新路线。问题是当我点击第二条路线时,它显示没有找到资源错误,因为它被称为我的测试。显示方法。我想同时使用这两条路线有什么解决方案吗?

Route 1 => Route::resource('test', 'App\Http\Controllers\Api\v1\MyController');
Route 2 => Route::get('test/greetings', 'App\Http\Controllers\Api\v1\MyController@greetingsData');

【问题讨论】:

    标签: php laravel laravel-routing


    【解决方案1】:

    将新的子路由放在资源的顶部/上方。应该是这样的:

    Route::get('test/greetings', 'App\Http\Controllers\Api\v1\MyController@greetingsData');
    Route::resource('test', 'App\Http\Controllers\Api\v1\MyController');
    

    【讨论】:

      【解决方案2】:

      更改线路顺序。 Laravel 使用从顶部开始的第一行是合适的候选者。

      Route 1 => Route::get('test/greetings', 'App\Http\Controllers\Api\v1\MyController@greetingsData');
      Route 2 => Route::resource('test', 'App\Http\Controllers\Api\v1\MyController');
      

      【讨论】:

        猜你喜欢
        • 2018-02-18
        • 2013-09-24
        • 2016-03-29
        • 2016-03-03
        • 2017-04-05
        • 2016-10-03
        • 1970-01-01
        • 2018-12-12
        • 2018-09-10
        相关资源
        最近更新 更多