2017-02-14 76 views
0

我在Windows上使用xampp在Laravel 5.3上启动了一个新项目,我将cors包(https://github.com/barryvdh/laravel-cors)安装在未来在其他域中执行请求。Laravel api路由与邮递员不工作

但在使用邮递员的路由本地主机不工作我有这样的/routes/api.php:

Route::get('/hello', '[email protected]'); 

在控制器:

public function hello() 
    { 
     return "hello!"; 
    } 

上邮递员:

http://localhost/myproject/api/hello

回应“对象未找到错误404”,我试着用http://localhost:80/myproject/api/hello和相同的回应。

当我把这个http://localhost/myproject/public/api/hello我得到的回答是:“NotFoundHttpException在RouteCollection.php线161:”

所以我不明白这一点,这是一个laravel 5.3的bug还是什么?这是我的PHP工匠路线清单:

+--------+----------+------------------------+----------+------------------------------------------------------------------------+--------------+ 
| Domain | Method | URI     | Name  | Action                 | Middleware | 
+--------+----------+------------------------+----------+------------------------------------------------------------------------+--------------+ 
|  | GET|HEAD |/     |   | Closure                | web   | 
|  | GET|HEAD | api/hello    |   | App\Http\Controllers\[email protected]        | api   | 
|  | GET|HEAD | api/user    |   | Closure                | api,auth:api | 
|  | GET|HEAD | home     |   | App\Http\Controllers\[email protected]        | web,auth  | 
|  | GET|HEAD | login     | login | App\Http\Controllers\Auth\[email protected]    | web,guest | 
|  | POST  | login     |   | App\Http\Controllers\Auth\[email protected]      | web,guest | 
|  | POST  | logout     | logout | App\Http\Controllers\Auth\[email protected]      | web   | 
|  | POST  | password/email   |   | App\Http\Controllers\Auth\ForgotP[email protected] | web,guest | 
|  | GET|HEAD | password/reset   |   | App\Http\Controllers\Auth\[email protected] | web,guest | 
|  | POST  | password/reset   |   | App\Http\Controllers\Auth\[email protected]    | web,guest | 
|  | GET|HEAD | password/reset/{token} |   | App\Http\Controllers\Auth\[email protected]  | web,guest | 
|  | GET|HEAD | register    | register | App\Http\Controllers\Auth\[email protected]  | web,guest | 
|  | POST  | register    |   | App\Http\Controllers\Auth\[email protected]     | web,guest | 
+1

你的代码是正确的。看起来你错过了该CORS软件包的一些配置。这肯定会在没有这个包的情况下工作: http:// localhost/myproject/public/api/hello –

+0

@ParthVora你是对的我发现Laravel 5.3中的这个包缺失 'api'=> [ 'throttle:60 ,1', '绑定', \ Barryvdh \ Cors \ HandleCors :: class, ]在Kernel.php文件 –

+0

您是否已经修复此问题?将'cors'中间件应用到你的路线上,你应该没问题。否则,请检查您的路线是否确实以“api”作为前缀我的意思是您确定它是'api/some/link'而不是'some/link'? –

回答

0

我认为你收到此错误是由于缺少URL段:/公共 的URL应该是:/公共/ API /你好

0

在url部分删除myproject部分。

+0

这应该作为注释添加... –