Прежде всего, Добро пожаловать в StackOverflow,
Ваш второй контроллер должен выглядеть так, чтобы достичь вашей цели:
/**
* @Route("/api_articles_list/articles_list", name="articles_list")
* @Method({"GET"})
*/
public function showActionList()
{
$articles = json_decode(utf8_encode($this->showActionListSerialize()->getContent()), true);
var_dump($articles);
return $this->render('listeArticles.html.twig', array('articles' => $articles));
}
Первое использование utf8_encode не обязательно.Затем ваш метод showActionListSerialize возвращает объект HttpFoundation Response .
Когда вы создаете экземпляр ответа с сериализованными данными, подобными этому:
$response = new Response($data);
inна самом деле это то же самое, что и:
$response->setContent($data);
Таким образом, для доступа к данным JSON вам нужен метод getContent .
Фактический вывод
var_dump(utf8_encode($this->showActionListSerialize());
is:
HTTP / 1.0 200 OK Cache-Control: без кеша, приватный Тип контента: application / json Дата: понедельник, 26 ноября 2018 13:25:22 GMT [{"content": "Lorem ipsum", "vendeur": "test_vendeur", "id": 1, "title": "title_test"}] "
и вывод
var_dump(utf8_encode($this->showActionListSerialize()->getContent());
is
[{"content": "Lorem ipsum", "vendeur": "test_vendeur", "id": 1, "title": "title_test"}]
Это решение должно работать для вас, и ваш шаблон веточки должен выглядеть так:
{% block body %}
{% for article in articles %}
<br>
id: {{ article.id }} <br>
title: {{ article.title }}<br>
content: {{ article.content }}<br>
vendeur: {{ article.vendeur }}
{% endfor %}
{% endblock %}