2017-02-14 78 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

這應該作爲註釋添加... –