我正在尝试使用 Laravel 5.6 创建一个 API,但是,在我看来,不可能在参数之前/之后使用可选的路由参数。
我想实现以下目标:
Route::get('api/lists/{id?}/items',
[
'as' => 'api/lists/items/get',
'uses' => 'ListsController@getListItems'
]);
对于上述情况,如果我想访问api/lists/1/items
它显示页面。另一方面,如果我想访问api/lists/items
它说找不到该页面。
我基本上想要的是,如果没有指定列表 ID,Laravel 应该获取所有列表 ID 的项目,否则它应该只获取特定 ID 的项目。
Q:'路由词'之间怎么可能有可选参数?有可能吗?或者有其他解决方案吗?
据我所知,不可能在网址中间使用可选参数。
在这种情况下,您可以尝试通过允许可选参数为 0 并加载所有项目来尝试解决方法,如下所述here.
但是,我建议在这里使用两条不同的路线来匹配您想要的一切:
api/lists/items
api/lists/{id?}/items
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)