2014-01-16 25 views
0

В Symfony2 я пытаюсь настроить контроллер, который отвечает на запросы PUT и извлекает параметры из заголовков, связанных с запросом (который я вхожу с помощью Postman). Страница загружается отлично, но не получает никаких значений из заголовков.Извлечение параметров из запроса PUT

Это мой routing.yml файл:

mybundle_foo: 
    pattern: /foo 
    defaults: {_controller: myBundle:Default:foo } 
    requirements: {_methods: put, _format: html} 

В контроллере:

public function fooAction (Request $request) { 
    $someParam = $request->request->get('someParam'); 
    return new Response("Some param is $someParam", 200); 
} 

При отправке запроса PUT на URL с Почтальон, с заголовком с ключом "someParam" и значение «bar», выход, который я получаю, равен Some param is

Я думал, что вы получите заголовки так же, как и с запросом POST, но Наверное, нет. Есть ли способ получить заголовки для запроса PUT?

ответ

0

Проблема в $request->request. Вы должны использовать:

$request->get('someParam'); 

Также проверьте это в контроллере:

var_dump($_PUT['someParam']); 
+0

Просто пробовал. Тот же результат. Попытка var_dump суперкоммулята $ _PUT заставила Symfony выпустить ошибку, в которой нет переменной _PUT. $ _POST работал, но Symfony жаловался, что нет индекса someParam, что имеет смысл, поскольку это запрос PUT, а не POST. –

2

Чтобы получить параметр из заголовка:

$someParam = $request->headers->get("someParam"); 
+0

это спасло мою жизнь lol 4:57 утра, не спать, выполняя некоторые технические требования к экзамену lol. Symfony - очень сложная версия Laravel :( – marknt15

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