为了账号安全,请及时绑定邮箱和手机立即绑定

Laravel API URL 参数和路由

Laravel API URL 参数和路由

PHP
拉莫斯之舞 2021-12-03 19:37:51
我的 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 关联的运行(基本上是过滤版本的在/运行调用),但我挣扎着爬了ID防空火炮的参数。目前,上面的代码可以工作,但是当尝试执行上述调用时,它所做的只是返回/user的输出,并且不返回具有给定 ID 的运行。我也不确定我是否使用上述方法以最佳方式进行路由,因此将不胜感激任何帮助 - 谢谢。
查看完整描述

1 回答

?
千万里不及你

TA贡献1784条经验 获得超9个赞

模型可以通过使用路由模型绑定来解析,请查看以下示例:

 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


查看完整回答
反对 回复 2021-12-03
  • 1 回答
  • 0 关注
  • 275 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信