Size: a a a

2021 October 04

D

Dmitriy in symfony
То есть у меня респонс всегда имеет вид {"data":null,"meta":null,"errors":null} (null я для примера указал просто)
источник

D

Dmitry in symfony
а если уж это декоратор то о наследование тут не нужно
источник

D

Dmitry in symfony
вам нужно просто
class JsonResponse {fields here with nelmio
construct($response){fill the fields}
toOutput(){return json(fields)}
}
источник

D

Dmitriy in symfony
Я не очень в курсе, но думал, что хендлеры в симфони должны возвращать классы (объекты точнее), отнаследованные от Symfony\Component\HttpFoundation\Response
источник

D

Dmitriy in symfony
Или не обязательно?
источник

D

Dmitry in symfony
методы контроллеров должны возвращать Response
источник

SP

Sergey Protko in symfony
открой для себя термин observability, промитеи всякие и т.д. поставь штуку, пусть оно мониторит состояние твоих компонентов.
источник

D

Dmitriy in symfony
Ну так да, поэтому мой ApiResponse и наследуется от JsonResponse, который в свою очередь наследуется от Response
источник

SP

Sergey Protko in symfony
не обязательно, можно сверху повесити response filter ивент обработчик или как там он называется и пусть твой контроллер возвращает что хочет, ты потом это дело в response сконвертишь. Ну я так к слову
источник

D

Dmitry in symfony
ну или так да, но не будем углубляться :)
источник

D

Dmitry in symfony
что неверно, я выше обьяснил логику
источник

D

Dmitriy in symfony
Ну, кстати, вариант. А я не велосипед какой-то делаю, кстати?
источник

AD

Andrey Dembitskyi in symfony
Можешь сделать ApiResponse::create(...): JsonResponse, если не охота ввязыватся в события
источник

D

Dmitry in symfony
уберите наследование, и возвращайте "чистый" дто
источник

D

Dmitry in symfony
это решит вашу проблему с нелмио и сделает код чище и правильнее
источник

D

Dmitriy in symfony
Так вы же выше сами написали "методы контроллеров должны возвращать Response". Если я возвращаю Response, то Nelmio-бандл требует описать ВСЕ публичные свойства Response
источник

D

Dmitriy in symfony
Проблема именно в этом
источник

D

Dmitry in symfony
еще раз. return new Response(DtoObject)
где DtoObject описаны все нужные вам структуры
источник

D

Dmitry in symfony
уберите наследование, используйте декоратор
источник

D

Dmitriy in symfony
Тогда понял, спасибо. Правда получается какое-то лютое дублирование кода. Потому что надо описывать не только DTO объектов, но и DTO каждого респонса, ведь там в data разные объекты могут быть
источник