Antecedentes:Manipulación de datos de la POST para trabajar con formas de Symfony2 cuando se utiliza en una API REST
Estoy escribiendo una API REST de Symfony. Quiero que el cliente pueda publicar en una url usando el tipo de contenido application/json y publicar un objeto json del formulario que la acción del controlador está buscando.
Im usando una configuración de controlador bastante básico para esto. Vamos a suponer con fines de demostración que estoy tratando de autenticar un simple combo de contraseña de usuario.
public function loginAction(Request $request)
{
$user = new ApiUser();
$form = $this->createForm(new ApiUserType(), $user);
if ("POST" == $request->getMethod()) {
$form->bindRequest($request);
if ($form->isValid()) {
$em = $this->getDoctrine()->getEntityManager();
$repo = $this->getDoctrine()->getRepository('ApiBundle:ApiUser');
$userData = $repo->findOneByUsername($user->getUsername());
if (is_object($userData)) {
/** do stuff for authenticating **/
}
else{
return new Response(json_encode(array('error'=>'no user by that username found')));
}
else{
return new Response(json_encode(array('error'=>'invalid form')));
}
}
}
Ahora el problema que tengo, y tienen que he intentado var_dumping esto hasta que las vacas vuelvan a casa, es que por cualquier razón Symfony no quiere tomar la application/json contenido cuerpo y utilizar esos datos para llenar los datos del formulario.
Nombre del formulario: api_apiuser
campos: nombre de usuario, contraseña
¿Cuál sería la mejor manera de manejar este tipo de tarea. Estoy abierto a sugerencias, siempre y cuando pueda hacerlo funcionar. Gracias por su tiempo con el asunto.