【发布时间】:2015-01-17 16:33:55
【问题描述】:
我正在编写一个 Web 服务 API(在 laravel 4.2 中)。
出于某种原因,基于 HTTP 方法,到我的一个控制器的路由选择性地失败了。
我的 routes.php 看起来像:
Route::group(array('prefix' => 'v2'),
function()
{
Route::resource('foo', 'FooController',
[ 'except' => ['edit', 'create'] ]
);
Route::resource('foo.bar', 'FooBarController',
[ 'except' => ['show', 'edit', 'create'] ]
);
}
);
因此,当我为 project.dev/v2/foo 或 project.dev/v2/foo/1234 网址尝试任何 GET / POST / PUT / PATCH / DELETE 方法时,一切正常。
但是,出于某种原因,只有 GET 和 POST 对 project.dev/v2/foo/1234/bar 有效。其他方法只是抛出 405 (MethodNotAllowedHttpException)。
(仅供参考,我通过 Advanced Rest Client Chrome 扩展程序发出请求。)
发生了什么事?
我错过了什么?
【问题讨论】:
-
也许你的 API 只支持
currentproject.dev/v2/companies/legalname/1234/?
标签: php laravel routes url-routing