我正在使用laravel来制作API。将提供以下端点:
目前我有:
Route::get('/{appname}/{network}/{device}', function()
{
return 'Hello World';
});
这个服务/ appname / network / device /但我想要的是它可以是以下但是在一条路线中而不需要额外的路由:
Route::get('/{appname}', function()
{
return 'App Name';
});
Route::get('/{appname}/{network}', function()
{
return 'App Name / Network';
});
Route::get('/{appname}/{network}/{device}', function()
{
return 'App Name / Network / Device';
});
我知道我可以使用RESTFUL控制器,但这只会起作用(我相信),其名称如下:
public function getAppname()
{
//app
}
但如果我用过:
public function getAppnameNetwork()
{
//app-network
}
它会变成:
/应用程序的名字的网络/
非常感谢任何建议/帮助。
谢谢:)
答案 0 :(得分:2)
您可以选择路由参数:
Route::get('/{appname}/{network?}/{device?}', function($appname, $network = null, $device = null)
{
return "$appname - $network - $device";
});
答案 1 :(得分:-1)
我认为路由组可能就是你想要的。
http://laravel.com/docs/routing#route-groups会提供更多信息。
如果您需要变量前缀,请查看:https://github.com/jasonlewis/enhanced-router