【发布时间】:2016-02-26 18:12:19
【问题描述】:
我正在将 dingo/api 用于一个项目,并且我的所有路线都在 1 之外工作。
routes.php
$api = app('api.router');
$api->version('v1',['prefix' => 'api'], function ($api) {
$api->post('users', "App\Http\Controllers\Auth\UsersController@store");
...
});
存储方法:
/**
*
* @param \App\Http\Requests\Auth\StoreUserRequest $request
* @return \Illuminate\Http\Response
*/
public function store(StoreUserRequest $request)
{
if( ! $this->isAdminRequest() )
{
return $this->dispatch(new RegisterUserCommand($request));
}
}
这条路线抛出405 Method Not Allowed Exception。
php artisan api:routes 表明它已在本地和服务器上注册。
我正在使用 POSTMAN 来测试我的 api 并拥有所有必填字段。
作为回应,我确实得到了 Allow : POST。
注意:
- 还有其他完美的发布路线。
- 还有其他 完美运行的 UsersController 路由
- 我已尝试删除所有其他路由,但仅此而已,它仍然无法正常工作。
感谢任何帮助。谢谢。
更新:
好吧,这对我来说是一个非常愚蠢的错误。我正在点击 'domain/api/users/'。删除尾随 '/' 有效。 但问题是,本地 '/' 工作,而不是在服务器上。 因此,可能会保留这个问题以进行一些解释。
【问题讨论】:
-
是控制器类名/控制器文件名,和路由文件中提到的一样...??
-
是的。正如我所说,还有其他用户路线可以完美运行。
-
我在没有 https:// 的情况下调用它
-
4年后还有机会更新吗?我现在遇到了这个确切的问题。
标签: php laravel-5.1 laravel-routing dingo-api