2015-10-14 14 views
6

Tak więc pracuję z instalacją Laravel 5 i jak dobry programista Próbuję uzyskać logikę walidacji z mojego kontrolera za pomocą nowej funkcji Formularze zgłoszeń w Laravel.Dlaczego moje żądanie tworzenia formularza powoduje odrzucenie wyjątku 404 w Laravel5?

Więc poszedł do przodu i stworzyła żądania formularz o nazwie CreateTenantRequest tak:

php artisan make:request CreateTenantRequest 

Domyślnie zwraca false w metodzie authorize i działa poprawnie. Jeśli wystrzelę żądanie, będzie to zabronione. Ale potem zaktualizowane zasady i ustawić metodę authorize do true i teraz, kiedy ogień ten sam wniosek Postman, to mówi:

NotFoundHttpException in RouteCollection.php line 161: 

co jest śmieszne, bo kiedy go zmienić na fałszywy, zwraca zabronionego grzywny ?

Czego mi brakuje lub robię źle?

I chociaż to nie ma znaczenia, ale myślę, że moje zasady tablica jest w następujący sposób:

return [ 
    // Tenant details 
    'name' => 'required|max:255', 
    'username' => 'required|max:255|unique:tenant', 
    // Tenant Admin details 
    'first_name' => 'required', 
    'last_name' => 'required', 
    'email' => 'required|email|max:255', 
    'password' => 'required|confirmed|min:6', 
]; 

plik Trasy:

<?php 

Route::group(['prefix' => 'api'], function(){ 
    Route::post('authenticate', 'Auth\[email protected]'); 

    // SuperAdmin Group 
    Route::group(['namespace' => 'Archive', 'middleware' => 'superadmin'], function(){ 
     Route::resource('tenants', 'TenantController'); 
     Route::get('tenants/{id}/users', '[email protected]'); 
    }); 

    // Tenant Group 
    Route::group(['namespace' => 'Tenant'], function(){ 
     Route::resource('roles', 'RoleController'); 
     Route::resource('users', 'UserController'); 
    }); 

    // Remove before production 
    // Only for testing purposes 
    Route::get('test', function(){ 
     // return JWTAuth::parseToken()->getPayload()->get('username'); 
    }); 
}); 
+0

Czy możesz dołączyć plik Trasy? Kiedy NotFoundHttpException pojawia się w większości przypadków, gdy coś jest nie tak w pliku Trasy. –

+0

Czy widzisz coś, co może zepsuć to? A plus, jeśli plik tras był problemem, dlaczego działa z fałszywym argumentem? * zdezorientowana emotikona * – Rohan

+0

Jaki jest adres URL, do którego dzwonisz? –

Odpowiedz

5

Więc po dyskusji oferty z shock_gone_wild, zdałem sobie sprawę, że Żądanie nie było ajaxem, a więc laravel przekierowywał adres URL z błędami w sesji.

byłem testowania API z klientem Postman spoczynku i domyślnie wysyła podstawowych żądań HTTP, ale gdy nagłówek jest dodawany tak:

X-Requested-With:XMLHttpRequest 

To sprawia, że ​​żądania Ajax i następnie laravel sprawdza, czy to rzeczywiście ajax, więc zamiast routować do adresu URL, zwrócił błędy sprawdzania poprawności w JSON.

W każdej chwili, jeśli ktoś tworzy oddzieloną od sieci usługę i próbuje ją przetestować za pomocą aplikacji Postman, zrób to za pomocą nagłówka, aby móc symulować rzeczywiste żądania ajaxowe w aplikacji.