我想知道:我可以为一组路线设置某种默认参数。 (例如)我有一个网络服务。这将使用AWS使用的相同类型的身份验证。到目前为止没有什么新东西......无论是请求,我都需要有这样的结构:
myapp.com/v1/{hashed_value}/{timestamp}/{parameters}
其中:
v1 - >版本控制(o?rly?!)
hashed_value - >是我发送请求的所有信息的哈希(URL本身)。
时间戳 - >要验证某人是否有人坚持破解并将其发回。到期时间。
参数 - >我们都需要它们,不是吗?也许(可能会)更多他们一个。
那么,在这种情况下,有一种虚拟的方式,它包括将这3个变量放在所有(!!)我的路线中。但那不是我想要的!我想要“Laravel方式”做到这一点! 如果我能够,我不知道,把它作为一组路线的前缀(那些是变量),在这种情况下所有这些,“那将是伟大的”。我不知道是否有办法做到这一点......有吗?
答案 0 :(得分:1)
我认为你想要的绝对是可能的。我把我的routes
文件的一部分拿出来,并更改了一些名称,以明确它的作用。我的建议是先将参数放在最后,然后将未知数(如哈希和时间戳)放在最后。
Route::group(array('prefix' => 'api'), function()
{
//the routes for all API calls
Route::group(array('prefix' => '/v1'), function()
{
//for version 1
Route::group(array('prefix' => '/parameter_type_1', 'before' => 'loggedin'), function()
{
//for parameter_type_1 requests
Route::get('/getThing/{hash}/{timestamp}', 'APIController@getThing');
Route::group(array('prefix' => '/parameter_type_2', 'before' => 'loggedin'), function()
{
//for parameter_type_2 requests
Route::get('/getNewThing/{hash}/{timestamp}', 'APIController@getNewThing');
});
});
});
一些文档链接: