2017-02-14 1 views
0

Ich habe ein neues Projekt auf Laravel 5.3 mit Xampp unter Windows gestartet, ich habe das Cors-Paket (https://github.com/barryvdh/laravel-cors) instal- liert, um auch in Zukunft in anderen Domains Anfragen zu stellen.Laravel api Route mit Postboten funktioniert nicht

Aber auf localhost Postbote die Routen mit arbeiten ich dies auf /routes/api.php nicht haben:

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

On-Controller:

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

auf Postbote:

http://localhost/myproject/api/hello

Reagiert "Objekt nicht gefunden Fehler 404", versuchte ich mit http://localhost:80/myproject/api/hello und gleiche Antwort.

Als ich diese setzen http://localhost/myproject/public/api/hello erhalte ich die Antwort: „NotFoundHttpException in RouteCollection.php Linie 161:“

es so bekomme ich nicht, das ist ein Laravel 5.3 Fehler oder etwas? Dies ist meine php Handwerker Routenliste:

+--------+----------+------------------------+----------+------------------------------------------------------------------------+--------------+ 
| 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\[email protected] | web,guest | 
|  | GET|HEAD | password/reset   |   | App\Http\Controllers\Auth\ForgotPasswordCont[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

Ihr Code ist korrekt. Anscheinend fehlt Ihnen eine Konfiguration für dieses CORS-Paket. Das wird definitiv ohne dieses Paket funktionieren: http: // localhost/meinprojekt/public/api/hallo –

+0

@ParthVora Sie haben recht Ich habe festgestellt, dass dieses Paket in Laravel 5.3 fehlt 'api' => [ 'Drossel: 60 , 1 ', ' Bindungen ', \ Barryvdh \ Cors \ HandleCors :: Klasse, ] auf der Datei Kernel.php –

+0

Haben Sie dieses Problem bereits behoben? Wenden Sie die "Cors" Middleware auf Ihre Route an und Sie sollten in Ordnung sein. Andernfalls überprüfe, ob deine Route tatsächlich mit 'api' vorangestellt ist. Ich meine, bist du sicher, dass es "api/some/link" ist und nicht "irgendein/link"? –

Antwort

0

Ich denke, dass Sie aufgrund eines fehlenden url Segment dieser Fehler sind immer:/public Die URL soll:/public/api/hallo

0

In Im Abschnitt URL entfernen Sie den Abschnitt myproject.

+0

Dies sollte als Kommentar hinzugefügt werden ... –