2015-03-14 4 views
0

Я делаю некоторые тесты с API RESTful от Laravel 5. Я создал контроллер UserController с помощью команды php artisan make:controller UserController, и обновленный routes.php так:Неудачные запросы POST, PUT и DELETE

Route::group(['prefix' => 'api'], function() 
{ 
    Route:resource('user', 'UserController'); 
    Route::group(['prefix' => 'user'], function() 
    { 
     Route::get('', ['uses' => '[email protected]']); 

     Route::get('{id}', ['uses' => '[email protected]']); 

     Route::post('', ['uses' => '[email protected]']); 

     Route::put('{id}', ['uses' => '[email protected]']); 

     Route::delete('{id}', ['uses' => '[email protected]']); 

    }); 
}); 

При тестировании это единственный рабочий способ GET, другие терпят неудачу бросали это исключение:

TokenMismatchException in compiled.php line 2440: 

Я Если бы вы могли дать мне руку с этим, спасибо.

ответ

0

POST, PUT и DELETE методы требуют токена CSRF. Вам нужно включить его на свою страницу.

{!! Form::token() !!} 

Кроме того, если вы используете Form::open() и передать один из методов, перечисленных выше, в качестве аргумента, будет автоматически включен маркер CSRF.

+0

thnks для вашей поддержки. Я тестирую в UserController.php. как насчет include {{Form :: token()}} в моем контроллере. – Hort

+1

@Hort, '{!! Form :: token() !!} 'должен быть добавлен на ваш взгляд, потому что он напечатает скрытый ввод с токеном csrf – manix

+0

спасибо @Shiny Phoenix: если я хочу использовать метод post, поместите и удалите без include {!! Форма :: токен() !!}. означает, что я создаю функцию вставки, обновления, удаления api из контроллера. Каким образом это можно сделать? Благодарю. – Hort

Смежные вопросы