Laravel新API不起作用

时间:2016-12-17 17:01:23

标签: php laravel

我正在努力学习Laravel(5.3.28)并且我遇到了一个问题,我的第一条api路线无法工作。我已经关注了Laravel文档,可以创建一个新项目,并可以导航到Laravel启动画面,指示它正在工作。我向routes/api.php添加了以下路由以测试我是否可以使用端点,但是我收到错误:

路由/ api.php

Route::get('foo', function () {
    return 'Hello World';
});

错误

NotFoundHttpException in RouteCollection.php line 161:

我有一个专门为我的网络服务器运行XAMPP的CentOS盒子。命中终点的地址是http://10.0.0.200/test/api/public/foo

我读到我的.htaccess文件应该被编辑,但是我找到的几个例子与我已经拥有的文件相匹配,所以我对于该做什么感到有点迷失。

以下是php artisan route:list的输出:

+--------+----------+----------+------+---------+--------------+
| Domain | Method   | URI      | Name | Action  | Middleware   |
+--------+----------+----------+------+---------+--------------+
|        | GET|HEAD | /        |      | Closure | web          |
|        | GET|HEAD | api/foo  |      | Closure | api          |
|        | GET|HEAD | api/user |      | Closure | api,auth:api |
+--------+----------+----------+------+---------+--------------+

2 个答案:

答案 0 :(得分:1)

10.0.0.200/test/api/public是我假设的根URL。如果是,那么你需要点击10.0.0.200/test/api/public/api/foo

我认为您的项目位于文件夹test / api中,您需要重新配置apache \ nginx以路由所有请求到10.0.0.200/test/,开始转到{webser root} / test / api /上市 。这在Web服务器配置文件中完成

答案 1 :(得分:0)

Laravel使用artisan命令执行多项开发任务,例如运行内置Web服务器。您可以通过在项目的根目录(artisan脚本所在的位置)中打开一个新终端来执行此操作,然后运行以下命令:

php artisan serve

这应该会注意到您使用内置Web服务器的URL。然后,您可以通过Web浏览器访问它。通常,http://localhost:8000

这样,您就可以访问前往http://localhost:8000/foo的路线,并在其中找到显示Hello world的页面作为您在关闭时的回报。