Php Laravel API URL参数和路由

Php Laravel API URL参数和路由,php,laravel,api,Php,Laravel,Api,我的api.php文件中有以下代码: Route::group(['prefix' => 'v1', 'middleware' => 'auth:api'], function() { // Return user information Route::get('/user', function(Request $request) { return $request->user(); }); // Return user ru

我的api.php文件中有以下代码:

Route::group(['prefix' => 'v1', 'middleware' => 'auth:api'], function() {
    // Return user information
    Route::get('/user', function(Request $request) {
        return $request->user();
    });

    // Return  user runs
    Route::get('/runs', function(Request $request) {
        $user = $request->user('api');

        return $user->runs();
    });

    Route::get('/runs/{id}', function(Request $request, $id) {
        $user = $request->user('api');

        return $user->run($id);
    });

    // Return user profiles
    Route::get('/profiles', function(Request $request) {
        $user = $request->user('api');

        return $user->profiles();
    });

});
API调用

我正在使用PostMan测试API:

GET - http://srp.local/api/v1/runs/1
身份验证是使用承载令牌完成的,这很好,但是我在/runs/{id}调用中遇到了问题,我只想让调用返回与该id相关联的运行,基本上是/runs调用的过滤版本,但我正在努力获取id accross的参数

目前,上面的代码可以工作,但在尝试执行上述调用时,它只返回/user的输出,而不返回具有给定ID的运行


我也不确定我是否使用上述方法优化了布线,因此非常感谢您的帮助。使用布线模型绑定可以解决模型问题,请查看以下示例:

 Route::get('/runs/{run}', function(Request $request, Run $run) {
        $user = $request->user('api');


        return $user->run($run);
    });
更多信息:


在路由中使用控制器优于使用回调。控制器有助于分离代码并允许缓存。签出以下示例:

您能显示您的通话数据吗?i、 e.从浏览器控制台或您提出请求的任何地方。你的路线看起来不错。@Rehmat我已经用电话更新了问题。