如果要让url上带参数,直接这样写:

$api->get('pic/{pic_id}', 'App\Controllers\[email protected]')
            ->where('pic_id', '[a-zA-Z0-9]{8}');

这里,花括号里是参数,英文是route parameter,后面的where是用正则表达式来匹配参数,可以和其他url区别开。比如:

$api->get('pic/random', 'App\Controllers\[email protected]');

可以看到,random这个不匹配上面where的正则表达式,所以可以和上面的url区分开来。

那怎样获取这个route parameter呢?

class AbcController extends Controller 
{
    public function xyz($pic_id)
    {
       //some code
    }

}

其实这些在文档里都有的,目前是在Laravel Documentation的左边The Basics里面的第一个,Routing

标签: RESTful API, url, route parameter

添加新评论