вернуть JSON-ответ в сервисах напрямую - PullRequest
0 голосов
/ 10 апреля 2019

Я хочу вернуть jsonReponse напрямую, без возврата, просто json для моего метода в контроллере

Это мой метод в контроллере, и я хочу показать ответ со статусом = 200 и завершено:

/**
 * @Route("/ab", name="ab")
 */

public function abTest()
{
    $this->service->serviceIndex();
    return new JsonResponse(['status'=>208,'result'=>"RIGHT"],208);
}

это мой сервис:

class serviceTest
{
    public function serviceIndex()
    {
        return new JsonResponse(['status'=>200,'result'=>"ok"],200);
    }
}

1 Ответ

2 голосов
/ 10 апреля 2019

Нет, ты не хочешь этого.Именно поэтому существует разделение между сервисами и контроллерами.Вы также можете использовать службу в других обстоятельствах (например, позвонить ей из других служб), и в этом случае вам не нужен какой-либо автоматический ответ JSON.Услуги внутренние .Контроллеры - это интерфейс между «внешним миром» и вашими внутренними объектами, поэтому именно работа контроллера заключается в том, чтобы адаптировать все, что возвращает служба, к тому, что подходит для внешнего мира (JSON / HTML / text / что угодно).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...