Недавно я начал получать ошибки проверки при отправке POST на мой REST-интерфейс с Content-Type: multipart/form-data
. Content-Type: application/x-www-form-urlencoded
работает.POSTing с Content-Type: результаты multipart/form-data в пустом теле запроса
Вот мое тестирование функции:
/**
* @Rest\Route("/testtype")
*/
public function postTypeTestAction()
{
$request = $this->getRequest()->request->all();
$phpContents = file_get_contents("php://input");
return FOSView::create()->setStatusCode(200)->setData(array('request'=>$request, 'phpinput' => $phpContents));
}
Когда я отправляю с помощью Content-Type: application/x-www-form-urlencoded
:
{
"request":{
"test":"message"
},
"phpinput":"test=message"
}
Когда я отправляю с помощью Content-Type: multipart/form-data
:
{
"request":[
],
"phpinput":"------WebKitFormBoundaryFyQqAxqqfuhWzHUq\r\nContent-Disposition: form-data; name=\"test\"\r\n\r\nmessage\r\n------WebKitFormBoundaryFyQqAxqqfuhWzHUq--\r\n"
}
Поскольку нет данных запроса, я получаю ошибки проверки This value should not be blank
. Это нарушает мое приложение. Я так долго смотрел на это, я уверен, что я пропустил что-то простое.
Я использую Symfony 2.3.7 и FOSRestBundle 1.0.0.