2015-11-24 26 views
2

一个项目我使用野狗/ API和我所有的航线比1Laravel路线完美地在当地工作,但不在偏远地区。 (巴丁格API)

routes.php文件

$api = app('api.router'); 
    $api->version('v1',['prefix' => 'api'], function ($api) { 

     $api->post('users', "App\Http\Controllers\Auth\[email protected]"); 
... 
     }); 

存储方法工作的其他:

/** 
    * 
    * @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并且拥有所有必需的字段。 作为回答我确实收到允许:POST

注:

  • 还有其他邮路的工作完美。
  • 还有其他 UsersController路由,完美的工作
  • 我试过删除所有其他路由,只是这一点,它仍然无法正常工作。

任何帮助表示赞赏。谢谢。

UPDATE:

好吧,这是我的一个非常愚蠢的错误。我打了'domain/api/users /'。删除尾随'/'工作。 但事情是,本地'/'工作,而不是在服务器上。 因此,对于某些解释可能存在这个问题。

+0

控制器类名/控制器文件名,与路径文件中提到的名称相同...... ?? –

+0

是的。正如我所说,还有其他用户路线完美运作。 –

+1

我打电话给它没有https:// – astroanu

回答

0

非常好的问题,并自此跑到这个自己。你的更新应该在一个答案,所以如果你这样做,我可能会删除我的。对我来说,问题是我的action中的尾随斜线,例如/some/action/而不是/some/action其中路线预期它在后一种形式。

我曾经假设Laravel会将这个可选的尾部斜杠作为特征考虑到本地环境中的行为,但事实并非如此。

+0

我保留这个,因为我无法找到为什么会发生这种情况。我在本地和服务器上有不同的配置。也许是因为这个。或者可能是因为任何APACHE配置或.htaccess。 我希望能找到什么可以影响和导致这种行为。 –

+0

它是有道理的,因为你的本地可能在Apache上运行nginx和你的服务器。他们处理事情的方式可能是问题的原因 – Jonathan

+0

不,它既是Apache,也是不同的版本。我会在稍后查看并在此处进行更新。 –

相关问题