Я думаю, что вы делаете это, чтобы не вызывать вашу базу данных несколько раз. (но это не очень хорошая идея, если то, что я предполагаю, является правдой, подумайте о наличии миллиона шуток, хотите ли вы загрузить все это в свой атрибут шуток?).
В процессе request -> response
, у вас есть разные экземпляры JokeController.
Это означает, что даже если вы запросите действие getJokes, вы заполните атрибут jokes. но пока вы не получите ответ, экземпляр JokeController будет уничтожен. поэтому, когда вы позвоните снова, showJokes другой экземпляр доступен здесь. так что шутки пусты.
Чтобы решить эту проблему, есть много способов, таких как:
отправка идентификатора, который идентифицирует шутку в вашей СУБД, чтобы получить его через репозиторий, а затем вернуть его .