Php Laravel API URL参数和路由
我的api.php文件中有以下代码: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
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我已经用电话更新了问题。