Size: a a a

2021 October 04

D

Dmitry in symfony
но надо загуглить и посмотреть как бы так выкрутить чтобы клиент падал при ошибке соединения
источник

D

Dmitry in symfony
думается мне как сказали выше symfony/cache не предполагает быть использованным в качестве основного хранилища
источник

D

Dmitry in symfony
источник

D

Dmitry in symfony
при этом подкинуть все это дело на слушателя kernel.request
источник

D

Dmitry in symfony
но это через жопу, я бы на вашем месте ушел от symfony/cache - оно не предназначено для работы с редисом как основным хранилищем
источник

VS

Valery Smirnoff in symfony
Если редис основное хранилище, то ты взорвешь мозг другим разработчикам используя его через контрак кэша. Тут явно нужно выделять в отдельню репу, а за ней уже прятать явное обращение к редису с обработкой нужных тебе кейсов.
источник

VS

Valery Smirnoff in symfony
У тебя редис скорее не кэш в даном случа, а кей валью хранилище.
источник

VS

Valery Smirnoff in symfony
потом поменяешь его вдруг
источник

D

Dmitriy in symfony
Всем привет. Подскажите, пожалуйста, как, используя NelmioApiDocBundle, правильно описать тело респонса. У меня он выглядит так (https://pastebin.com/iqLSsR1t). При попытке получить документацию кидает такую ошибку, что логично: The PropertyInfo component was not able to guess the type of App\\Utils\\ApiResponse::$data. You may need to add a `@var annotation or use @OA\\Property(type=\"\") to make its type explicit.. Да, я могу переопределить $data в своём классе, но тогда NelmioApiDocBundle начинает ругаться на другие публичные свойства в родительском классе JsonResponse. Например, на statusTexts, которое объявлено в Response, от которого наследуется JsonResponse. Как сделать правильно?
источник

AM

Alex Mikhaylov in symfony
Спасибо большое за развернутый ответ

Да, это корректное определение
Я просто только пришел на проект, все новое
Да и по правде мой уровень(надеюсь это временно) оставляет желать лучшего
источник

D

Dmitry in symfony
ему не нравится type="object" ?
источник

D

Dmitriy in symfony
Ему не нравится то, что я не прописываю аннотации для публичных свойств симфони-классов респонса, от которого я наследуюсь
источник

D

Dmitriy in symfony
А переопределять их и прописывать аннотации как-то странно, ведь они у меня не отдаются в API
источник

D

Dmitry in symfony
поэтому я и предпочел простой yaml файлик чем вот это вот городить в коде в виде аннотаций
источник

D

Dmitriy in symfony
Я так делал, и это ад, когда количество эндпоинтов становится достаточно большим. Этот файл может стать очень огромным - с ним неудобно работать
источник

D

Dmitry in symfony
я бы на вашем месте отдавал бы ДТО и описывал бы поля в нем
источник

D

Dmitry in symfony
а не сразу в ApiResponse
источник

D

Dmitry in symfony
class ApiResponse extends JsonResponse - вот тут должно быть наборот, если что :)
источник

D

Dmitry in symfony
Json это по сути декторатор над Response
у вас должно быть нечто Response->ApiResponse->JsonResponse
источник

D

Dmitriy in symfony
У меня есть dto. А ApiResponse - это сделано для того, чтобы был стандартизированный формат ответа. Вот так:
public function getList(): Response
   {
       $serializer = new Serializer([$this->languageNormalizer]);
       $languages = $this->languagesService->getAvailable();
       $items = $serializer->normalize($languages);
       return new ApiResponse($items);
   }
источник