Laravel 路由在本地完美运行,但在远程不完美。 (野狗Api)

Laravel route works perfectly locally but not on remote. (Dingo Api)

我正在为一个项目使用 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.

注意:

感谢任何帮助。谢谢

更新:

好吧,我犯了一个非常愚蠢的错误。我正在点击 'domain/api/users/'。删除尾随 '/' 有效。 但问题是,本地 '/' 有效,而不是在服务器上。 所以保留这个问题可能会得到一些解释。

很好的问题,自从 运行 我自己就开始研究这个问题。您的更新应该在答案中,所以如果您这样做,我可能会删除我的。对我来说,问题是 action 中的尾部斜杠,例如/some/action/ 而不是 /some/action,路由希望它采用后一种形式。

我原以为 Laravel 会将这个可选的尾部斜线作为一项功能来处理,但事实并非如此。