====== Renvoyer une réponse en JSON ======
===== Réponse JSON pour requête AJAX =====
//...
use Symfony\Component\HttpFoundation\Response;
class MyController extends AbstractController
{
//...
/**
* @Route("/test", name="test")
*/
public function test(...): Response
{
//...
$tableau = [ ... ];
$status = 200;
return $this->json($tableau, $status);
}
}
===== Fichier JSON à télécharger =====
//...
use Symfony\Component\HttpFoundation\HeaderUtils;
use Symfony\Component\HttpFoundation\Response;
class MyController extends AbstractController
{
//...
/**
* @Route("/export", name="export")
*/
public function export(...): Response
{
//...
$tableau = [ ... ];
$status = 200;
return $this->json($tableau, $status, [
'Content-Disposition' => HeaderUtils::makeDisposition(
HeaderUtils::DISPOSITION_ATTACHMENT,
'export-' . $now->format('Ymd-Hms') . '.json'
)
]);
}
}