我在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'? –