我在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 |
你的代码是正确的。看起来你错过了该CORS软件包的一些配置。这肯定会在没有这个包的情况下工作: http:// localhost/myproject/public/api/hello –
@ParthVora你是对的我发现Laravel 5.3中的这个包缺失 'api'=> [ 'throttle:60 ,1', '绑定', \ Barryvdh \ Cors \ HandleCors :: class, ]在Kernel.php文件 –
您是否已经修复此问题?将'cors'中间件应用到你的路线上,你应该没问题。否则,请检查您的路线是否确实以“api”作为前缀我的意思是您确定它是'api/some/link'而不是'some/link'? –