Vlad
😂
Roman
Ахах ))) каеф )
Vlad
https://github.com/nelmio/NelmioApiDocBundle/issues/1905 вот чел форму описывает
Roman
мде. Не так все просто. А еще более хитрый вопрос - как быть с файлами, которые нужно принять для создания сущности? У меня порядка 5-10 файлов небольших...
Vlad
как ни странно у меня сейчас на легаси проекте такое есть, но он легаси)
Vlad
а вообще любые данные можно замаппить в dto
Roman
ну то исть, при приеме этого запроса ловить FILES и обрабатывать как обычно?
Roman
а как правильно отдавать ошибки?
Roman
это ж тоже важная штука
Vlad
ну то исть, при приеме этого запроса ловить FILES и обрабатывать как обычно?
делать загрузку отдельный процессом, получать id файла и передевать при создании сущности
Roman
но можно ж и одним запросом все делать?
Vlad
но можно ж и одним запросом все делать?
можно но не нужно) особенно для апи
Roman
хех....
Дмитрий
но можно ж и одним запросом все делать?
А если стоит лимит на один файл в 10мб, а лимит на тело запроса допустим 20мб, а тебе надо 10 файлов по 5мб залить одним запросом, и вот ты упёрся в лимит
Roman
Добрый день ) А где происходит маппинг из json, который приходит в стандартном Request в этот самый RegistrationRequest?
Roman
ArgumentValueResolver
Ага, читаю
Roman
А в ArgumentResolver-е развесистая конструкция, мапящая Request->getContent() на RegistrationRequest? ведь в RegistrationRequest нужно при создании все поля запихать
Roman
или лучше вынести аргументы из __construct() и туда передавать Request?
Roman
а, да, было такое.. сейчас попробую
Roman
Serializer
А что мешает тогда сразу в сущность десереализовать, минуя DTO? чтобы не делать лишних операций и не плодить классы?
Roman
:))
Roman
ну то есть, нужно теперь создать пустую сущность и ее набивать из DTO?
Vlad
ну то есть, нужно теперь создать пустую сущность и ее набивать из DTO?
сущность не может быть создана без обязательных свойств)
Vlad
😂
Roman
омагад-омагад )
Vlad
requestDto и валидатор надо поменять мествми)
Roman
это уже, да )
Roman
хотя в статье вроде именно в таком порядке - сначала собирается DTO, затем валидируется
Roman
https://kvashnin.github.io/blog/using-request-dto-in-symfony/
Vlad
Смотря как валидировать
Roman
и, кстати, ArgumentValueResolver сам подцепился, колдунство какое-то
Roman
в services.yml ничего не прописывал
Vlad
в services.yml ничего не прописывал
Потому что ты реализуешь интерфейс, контейнер сканируя файлы проекта это видит и добавляет автоматически
Vlad
То же самое будет и с подписчиками, ибо у контейнера есть инструкции для классов реализующих определенные интерфейсы
Roman
в общем, работает, спасибо большое, пошел писать DTO на все случаи жизни )
Roman
и резольверы
Vlad
и резольверы
Их надо писать не на каждую дто а на группу
Vlad
🐥
Roman
Их надо писать не на каждую дто а на группу
У меня несколько сущностей разных, работу с которыми охватывает API
Roman
я так понимаю, на каждую сущность свой DTO нужен
Юра
Скажите почему семвер не работает?
Юра
Почему после обновления 99% что все сломается?
Юра
Unknown column type "json_array" requested
Юра
с этим кто-то сталкивался?
Юра
У меня нет полей с таким типом
Юра
Вопрос почему оно вообще обновило dbal на breaking change если я не трогал composer.json
Юра
Вообщем проблюема была в коменте поля. Доктрина создает комент, который говорит какой у поля тип. Поменял его и ошибка пропала
Дмитрий
Вопрос почему оно вообще обновило dbal на breaking change если я не трогал composer.json
Вот поэтому я жестко фиксирую в композере минорную версию и разрешаю ставить только патчи
Andrey
Вот поэтому я жестко фиксирую в композере минорную версию и разрешаю ставить только патчи
Нет гарантии, что и патч нифига не сломает, но обычно, если что-то сломали, то следующей версией быстро фиксят
Дмитрий
ну уж если в патче сломали то тут вообще тушите свет конечно, а так я перед каждым обновлением читаю changelog )
Andrey
Я для таких случаев перед тем как лок запушить просто тесты запускаю и если что-то сломалось, то верхнюю границу указываю, а как патч вышел, так с патча дальше разрешаю И это касается не только bc break, но я всяких security issue
Andrey
ну уж если в патче сломали то тут вообще тушите свет конечно, а так я перед каждым обновлением читаю changelog )
Это ж все на совести разработчика пакета, и в чейнджлог могут не указать всего Поставили там где-нить int у параметра случайно и у тебя все упало, потому как там строка должна быть 🤣
Дмитрий
ну всё, задушил Open Source, молодец ))
Дмитрий
патчей бояться composer update не делать ))
Andrey
Так делай, кто мешает? Просто тесты после этого гоняй со всякими анализаторами 😈
Andrey
И говорю же: если такое и проскочило, то быстро исправят - опенсорс же, баги быстро прилетят
Andrey
И говорю же: если такое и проскочило, то быстро исправят - опенсорс же, баги быстро прилетят
У фейсбук в апи косяк был какой-то, была задача на это, через пару лет закрыли "в связи с малым охватом у кого баг вылез" Баги прилетают, но про править никто не говорил 😈 Но опять же: опенсорс, взял и исправил 🤣
Дмитрий
)))
Trigger
Здравствуйте, а можно ли в Symfony завести микросервисы и как?
Andrey
Микросервис - отдельное приложение, то есть и работаешь с ним как с отдельным приложением Что именно вызывает затруднения?
Andrey
Те же платёжки - чем не микросервис?
Юра
Кто-то сталкивался с тем что javascript textContent у элемента возвращает вместо пробелов херню каку-то?
Юра
т.е. я передаю полученный el.textContent на сервер и там у меня вместо пробела какой-то мусор
Юра
вообщем пофиксилось let str = this.query.replace(/\u00A0/gu, " ");
Roman
Кто-то сталкивался с тем что javascript textContent у элемента возвращает вместо пробелов херню каку-то?
Сталкивался. Это были "мягкие переносы" - их не все браузеры корректно отображают. Образуются обычно после вставки текстов из ворда, например. Решил на стороне сервера str_replace-ом на текстовые поля при выводе.
Юра
Подскажите какой-то лайтовое решение для сбора логов?
Юра
Кто чем пользуется?
Юра
желательно не на базе логстеша
Sergey Romanenko
monolog
Юра
без джавы
Юра
я имею в виду чтобы сыпались логи со всех контейнеров куда-то в одно место
Юра
в какуюзто админку