2016-03-08 4 views
1

Когда маршрут:Laravel запрос PUT параметр

Route::post('/abcd',...); 

Затем контроллер я получаю параметр, как это:

$r->get('param') // with Request $r 

Но в то время как маршрут типа PUT запроса:

Route::put('/abcd,...); 

Этот код не работает. Он не получает значение параметра.

+0

что вы хотите для того чтобы достигнуть? –

+0

Я использую почтальона для тестирования. Метод PUT с параметром 'status' = 1. На стороне сервера я могу получить параметр. –

+1

- Пожалуйста, добавьте свой образец кода, чтобы мы могли выяснить проблему, вы можете получить доступ к параметрам таким же образом, как в столбце, так и в столбце. - Убедитесь, что вы не используете HTML-форму для публикации на этом маршруте, поскольку формы HTML не поддерживают действия PUT, PATCH или DELETE. - Источник: https://laravel.com/docs/5.2/routing#form-method-spoofing – mshakeel

ответ

6

Попробуйте установить x-www-form-urlencoded для тела в почтальоне.

+0

Да, я сделал, но это не сработало :( –

0

Маршрут:

$api->put('photos', 'App\Api\V1\Controllers\[email protected]'); 

код контроллера:

public function updatePhoto(Request $request) 
{ 
    $paramValue = $request->get('param_name'); 
} 

работает нормально для меня.

+0

спасибо! Это работает с Android-тестированием.Постмастерское тестирование не может запросить параметр put. Извините, у меня нет достаточного количества голосов, чтобы проголосовать за вас. –

+0

@ SangTrần Почтальон имеет отдельный пульт метод для проверки запросов на отправку, мы его успешно используем. Кстати, я добавил этот ответ, чтобы помочь вам не для голосования :) – mshakeel

+0

благодарит вас. Я могу проверить метод get и post. но используя put, input :: all() return null –

0

метод Set для POST и добавьте _method поле со значением PUT enter image description here

0
<input type="hidden" name="_method" value="PUT"> 

Просто добавили дополнительное поле в форме. работает отлично!

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