Rest API не работает в почтальоне по запросу URL

У меня есть запуск сервера по этому cmd в консоли, и он работает нормально

php -S localhost:8000 -t public

Когда я вызываю API в почтальоне для просвета, как это:

localhost:8000/GitHub/twinfield/public/index.php/user

API работает для вставки, но когда я звоню так:

localhost:8000/GitHub/twinfield/user

Ошибка приведена ниже:

(1/1) NotFoundHttpException в RoutesRequests.php (строка 226) в
Application-> handleDispatcherResponse (array (0)) в RoutesRequests.php
(строка 164) в Application-> Laravel \ Lumen \ Concerns {closure} () в
RoutesRequests.php (строка 413) в
Application-> sendThroughPipeline (array (), object (Closure)) в
RoutesRequests.php (строка 166) в Application-> dispatch (null) в
RoutesRequests.php (строка 107) в Application-> run () в index.php (строка
28)

Мой маршрутный файл в route / web.php:

$router->get('/', function () use ($router) {
//print_r('1234');die;
return $router->app->version();
});

$router->get('user','userController@index');
$router->get('user/{id}','userController@getuser');
$router->post('user','userController@createuser');
$router->post('user/{id}','userController@updateuser');
$router->delete('user/{id}','userController@deleteuser');

Я уже пытался решить, как это в public / index.php без успеха.

$request = Illuminate\Http\Request::capture();
$app->run($request);

Я работаю в localhost с Xampp. База данных MySQL и версия PHP 7.1.

0

Решение

У меня есть запуск сервера по этому cmd в консоли, и он работает нормально

php -S localhost:8000 -t public

Когда я вызываю API в почтальоне для просвета, как это:

localhost:8000/GitHub/twinfield/public/index.php/user

API работает для вставки, но когда я звоню так:

localhost:8000/GitHub/twinfield/user

Ошибка приведена ниже:

(1/1) NotFoundHttpException в RoutesRequests.php (строка 226) в
Application-> handleDispatcherResponse (array (0)) в RoutesRequests.php
(строка 164) в Application-> Laravel \ Lumen \ Concerns {closure} () в
RoutesRequests.php (строка 413) в
Application-> sendThroughPipeline (array (), object (Closure)) в
RoutesRequests.php (строка 166) в Application-> dispatch (null) в
RoutesRequests.php (строка 107) в Application-> run () в index.php (строка
28)

Мой маршрутный файл в route / web.php:

$router->get('/', function () use ($router) {
//print_r('1234');die;
return $router->app->version();
});

$router->get('user','userController@index');
$router->get('user/{id}','userController@getuser');
$router->post('user','userController@createuser');
$router->post('user/{id}','userController@updateuser');
$router->delete('user/{id}','userController@deleteuser');

Я уже пытался решить, как это в public / index.php без успеха.

$request = Illuminate\Http\Request::capture();
$app->run($request);

Я работаю в localhost с Xampp. База данных MySQL и версия PHP 7.1.

самый старый «data-shortcut =» O

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

Сэр, вы забыли URL-ссылку или можете пропустить. Всегда, когда мы запускаем сервер (в laravel команда называется php artisan serve), он всегда принадлежит тому пути, откуда он вызывается.

Как и в вашем случае, ваш путь — xampp / htdocs / GItHub / twinfield, где находится просвет (я полагаю).

localhost:8000/GitHub/twinfield/public/index.php/user

так что если вы позвонили так:

localhost:8000/GitHub/twinfield/user

Это никогда не работает, потому что вы определили маршрут:

$router->get('user','userController@index');
$router->post('user','userController@createuser');

Вот почему вы должны использовать только название маршрута и тип. Откройте почтальон и добавьте эту строку с помощью type-> get:

localhost:8000/user

вы получите всех пользователей в БД. Если вы добавите эту строку с типом -> сообщение.

localhost:8000/user

Чем вы должны опубликовать тело с полем таблицы, в которой вы хотите сохранить.

голосует «data-shortcut =» V

После попытки многих решений я чувствую, что глупую ошибку я сделал. Это URL:

localhost:8000/GitHub/twinfield/user

Поскольку новый сервер запускается командой, поэтому он принадлежит этому URL. Так что я использовал этот URL в почтальоне с get и than post.

localhost:8000/user

и вы знаете, это просто работает как шарм. Больше ничего не нужно в этом решении.

0

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