Маршрут Laravel отлично работает локально, но не удаленно. (Динго Апи)

Я использую 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 и имею все необходимые поля.
В ответ я получаю Разрешить: POST.

НОТА :

  • Есть и другие почтовые маршруты, которые отлично работают.
  • Есть и другие
    Маршруты UsersController, которые работают отлично
  • Я попытался удалить все другие маршруты и только с этим, это все еще не работает.

Любая помощь приветствуется. Благодарю.

ОБНОВИТЬ :

Хорошо, это была действительно глупая ошибка с моей стороны. Я бил ‘Домен / API / пользователей /’. Удаление трейлинга ‘/’ работал.
Но дело в том, локально ‘/’ работает а не на сервере.
Так что, возможно, этот вопрос стоит оставить для объяснения.

3

Решение

Очень хороший вопрос и с тех пор столкнулся с этим сам. Ваше обновление должно быть в ответе, так что если вы сделаете это, я могу удалить мое. Проблема для меня заключалась в том, что я action например /some/action/ вместо /some/action где маршрут ожидал его в последнем виде.

Я предполагал, что Laravel будет обрабатывать этот дополнительный конечный слеш как функцию, учитывая поведение в локальной среде, но это не так.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]