проверка данных multipart / form-data и FormType

Я строю API, используяFOSRestBundle и я нахожусь на этапе, когда мне нужно реализовать обработку создания новых объектов, которые содержат двоичные данные.

Следуя методам, изложенным наОтправка двоичных данных вместе с запросом REST APIотправка данных какmultipart/form-data кажется наиболее практичным для нашей реализации из-за ~ 33% дополнительной пропускной способности, необходимой для Base64.

Вопрос

Как я могу настроить конечную точку REST для обработки файла в запросе и для проверки объекта в кодировке JSON при отправке данных какmultipart/form-data?

Когда я просто отправлял сырой JSON, я использовал форму SymfonyhandleRequest метод для проверки по обычаюFormType, Например:

$form = $this->createForm(new CommentType(), $comment, ['method' => 'POST']);
$form->handleRequest($request);

if ($form->isValid()) {

  // Is valid

}

Причина, по которой мне нравится этот подход, заключается в том, что я могу больше контролировать заполнение сущности в зависимости от того, является ли действие обновлением (PUT) или новым (POST).

Я понимаю, что SymfonyRequest объект обрабатывает запрос так, что ранее данные JSON были быcontent переменная, но теперь имеет ключrequest->parameters->[form key] и файлы в пакете (request->files).

Ответы на вопрос(4)

Ваш ответ на вопрос