multipart / form-data y FormType validation

Estoy construyendo una API usando elFOSRestBundle y estoy en la etapa en la que necesito implementar el manejo de la creación de nuevas entidades que contienen datos binarios.

Siguiendo los métodos descritos enEnvío de datos binarios junto con una solicitud de API RESTenviando los datos comomultipart/form-data se siente más práctico para nuestra implementación debido al ~ 33% de ancho de banda agregado requerido para Base64.

Pregunta

¿Cómo puedo configurar el punto final REST para manejar el archivo dentro de la solicitud y realizar la validación en la entidad codificada JSON al enviar los datos comomultipart/form-data?

Al enviar el JSON sin procesar he estado usando el formulario de SymfonyhandleRequest método para realizar la validación contra la costumbreFormType. Por ejemplo:

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

if ($form->isValid()) {

  // Is valid

}

La razón por la que me gusta este enfoque es para poder tener más control sobre la población de la entidad dependiendo de si la acción es una actualización (PUT) o nueva (POST).

Entiendo que Symfony'sRequest El objeto maneja la solicitud de tal manera que previamente los datos JSON seríancontent variable pero ahora está codificada bajorequest->parameters->[form key] y los archivos dentro de la bolsa de archivos (request->files)

Respuestas a la pregunta(4)

Su respuesta a la pregunta