簡體   English   中英

Laravel API URL參數和路由

[英]Laravel API URL Parameters and Routing

我的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的參數。

當前,上面的代碼有效,但是當嘗試執行上述調用時,它所做的只是返回/ user的輸出,並且不返回具有給定ID的運行。

我也不確定是否使用上述方法以最佳方式進行路由,所以將不勝感激-謝謝。

可以通過使用路由模型綁定來解析模型,請查看以下示例:

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


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

更多信息: https//laravel.com/docs/5.8/routing#implicit-binding

與在路由中使用回調相比,使用控制器優先。 控制器幫助分離代碼並允許緩存。 簽出以下示例: https : //laravel.com/docs/5.8/controllers#defining-controllers

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM