Descripción
Cómo consumir y devolver un Json dentro de un controller de Symfony
Instrucciones
- Añadir el objeto Response dentro del controlador, porque todos los controladores necesitan devolver un objeto response. Para añadirlo, agrega la siguiente línea al principio delc controlador.
use Symfony\Component\HttpFoundation\Response;
- Una vez recibas la información en formato Json, deberás crear una instanacia del objeto Response, para envolver el resulado de Json y declarar el tipo de cabecera o formato que tendrá.
Código
<?php
namespace Drupaladicto\DrupaladictoEventBundle\Controller;
use Symfony\Bundle\FrameworkBundle\Controller\Controller;
use Symfony\Component\HttpFoundation\Response;
class DefaultController extends Controller
{
public function indexAction($name)
{
$data = array(
'count' => $name,
'frase' => 'Esta es mi respuesta',
);
$json = json_encode($data);
$response = new Response($json);
$response->headers->set('Content-Type', 'application/json');
return $response;
}
}