当 url 要求时,其余 API 无法在邮递员中工作
The Rest API not working in postman when requested by url
我已经在控制台中通过这个 cmd 启动了服务器,它工作正常
php -S localhost:8000 -t public
当我像这样在 postman 中调用 API 时:
localhost:8000/GitHub/twinfield/public/index.php/user
API 用于插入,但是当我这样调用时:
localhost:8000/GitHub/twinfield/user
报错如下:
(1/1) NotFoundHttpException in RoutesRequests.php (line 226) at
Application->handleDispatcherResponse(array(0)) in RoutesRequests.php
(line 164) at Application->Laravel\Lumen\Concerns{closure}() in
RoutesRequests.php (line 413) at
Application->sendThroughPipeline(array(), object(Closure)) in
RoutesRequests.php (line 166) at Application->dispatch(null) in
RoutesRequests.php (line 107) at Application->run() in index.php (line
28)
我的路由文件在 routes/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);
我在 Xampp 的本地主机上工作。数据库是 MySQL 并且 PHP 版本是 7.1.
在尝试了许多解决方案后,我觉得我犯了一个愚蠢的错误。即url:
localhost:8000/GitHub/twinfield/user
因为新服务器是通过命令启动的,所以它属于那个url。所以我在 postman 中使用了这个 url 和 get 而不是 post.
localhost:8000/user
你知道它 运行 就像一个魅力。此解决方案中不需要任何其他内容。
先生,您忘记了url link 否则可能会错过。它总是在我们启动服务器时(在 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');
这就是为什么您必须只使用路线名称和类型的原因。打开 postman 并使用 type->get:
添加这一行
localhost:8000/user
您将获得数据库中的所有用户。如果您使用类型->post.
添加此行
localhost:8000/user
你应该 post 包含要保存的 Table 字段的正文。
我已经在控制台中通过这个 cmd 启动了服务器,它工作正常
php -S localhost:8000 -t public
当我像这样在 postman 中调用 API 时:
localhost:8000/GitHub/twinfield/public/index.php/user
API 用于插入,但是当我这样调用时:
localhost:8000/GitHub/twinfield/user
报错如下:
(1/1) NotFoundHttpException in RoutesRequests.php (line 226) at Application->handleDispatcherResponse(array(0)) in RoutesRequests.php (line 164) at Application->Laravel\Lumen\Concerns{closure}() in RoutesRequests.php (line 413) at Application->sendThroughPipeline(array(), object(Closure)) in RoutesRequests.php (line 166) at Application->dispatch(null) in RoutesRequests.php (line 107) at Application->run() in index.php (line 28)
我的路由文件在 routes/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);
我在 Xampp 的本地主机上工作。数据库是 MySQL 并且 PHP 版本是 7.1.
在尝试了许多解决方案后,我觉得我犯了一个愚蠢的错误。即url:
localhost:8000/GitHub/twinfield/user
因为新服务器是通过命令启动的,所以它属于那个url。所以我在 postman 中使用了这个 url 和 get 而不是 post.
localhost:8000/user
你知道它 运行 就像一个魅力。此解决方案中不需要任何其他内容。
先生,您忘记了url link 否则可能会错过。它总是在我们启动服务器时(在 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');
这就是为什么您必须只使用路线名称和类型的原因。打开 postman 并使用 type->get:
添加这一行localhost:8000/user
您将获得数据库中的所有用户。如果您使用类型->post.
添加此行localhost:8000/user
你应该 post 包含要保存的 Table 字段的正文。