使用RESTful资源控制器可以让我这样做:
$request = Request::create(route('api.v1.booking.show'), 'GET');
解码后生成的URL为:
http://example.app/api/v1/booking/{booking}
我知道我可以发出GET请求并解析参数调用
Route::get($request, function($booking) {
return $some_id;
});
但在我的情况下,我想使用调度方法转发请求:
return Route::dispatch($request);
我无法弄清楚在调用dispatch
方法时如何解析参数,因为它不接受Closure,就像get
方法那样。
除了使用PHP str_replace
之外,是否有Laravel方法可以做到这一点?
答案 0 :(得分:1)
要为路由的 {booking} 参数设置值,您需要传递一组路由参数作为 route()的第二个参数:
$request = Request::create(
route('api.v1.booking.show', ['booking' => $bookingId]),
'GET'
);