🦔
пора уходить в подполье
мы тебя везде найдём
Null
мы тебя везде найдём
Ожидать битву ежа с муравьём?
Roman
Maksym
Всем привет. Возвращается ошибка, когда хочу запросить документацию. Что может быть? User Notice: @SWG\\Get() requires at least one @SWG\\Response() in
Maksym
там его и не должно быть, получается для этого экшена не описаны аннотации для свагера, но он на него ругается
Andrey
Респонс всегда должен быть, так-то
Andrey
Даже если в коде die(), то респонс-то все равно будет, у тебя ж http
Юра
Даже если в коде die(), то респонс-то все равно будет, у тебя ж http
Не факт. Можно фаерволом глушануть и просто пакеты игнорировать. Респонса не будет
Юра
Правда на уровне http я не знаю как это сделать
Andrey
был веб-сервер на php и из-за косяка он закрывал соединение до корректного закрытия http-запроса в итоге браузер слал второй запрос, хотя в инспекторе отображался всего один запрос у нас из-за этого в чате сообщения иногда дублировались я чисто случайно воспроизвел и повезло, что на тот момент взаимодействие по сети писал - там и увидел, что от сервера OK не прилетело и браузер второй запрос отправил
Юра
Умные какие эти браузеры
Andrey
Умные какие эти браузеры
Ну так-то http-протокол не был соблюден, ок в ответ не получил, значит коннект оборвался и надо повторить. Вот только почему там второй запрос не отображался с фейлом первого - вопрос. Было бы видно - мне бы с wireshark сидеть не пришлось, потому как сразу бы допер в чем беда была
Юра
Ну видимо они считают что логический и реальный запрос это разные штуки
Юра
Логически ты инициировал один запрос из браузера
Юра
Может где-то настройки какие-то меняют это поведение
Андрей
Всем привет! Есть две связанных сущности. Например: Сущность1 и Сущность2, связанные OneToMany Получаю из базы данные Сущности1 Далее добавляю в нее данные Сущности2 (т.к. по умолчанию загрузка ленивая и данные по связи OneToMany не загружаются) Примененяю к Сущности1 normalizer и данные Сущности2 исчезают. Группы указаны верно. На фото Данные Сущности2 - dataObjects. Вопрос можно ли как-то применить normalizer чтобы он сохранил данные связанной сущности (OneToMany) ?
The Ant
Можно как-то без этого костыля в аргумент резолвере? (пятисотит если боди пустой)
Vlad
Выбрасывай исключение и будет 400
The Ant
боди обычно пустой в 99% случаях (филтор же, с дефолтным значениями)
Vlad
А, по другому никак
The Ant
по другому на скрине, чтобы работало :D
Vlad
по другому на скрине, чтобы работало :D
Ну сделай дефолтные значения null, в чем проблема то
The Ant
проблема в том, что сериалайзер с пустым боди (нулл\пустая строка) не создает инстанс объекта а бросает 500-ю
Юра
Сделай вместо {} 'null'
The Ant
почему у меня не работает?
Vlad
Vlad
Vlad
почему у меня не работает?
не знаю, проклятый наверное 🤣
The Ant
не знаю, проклятый наверное 🤣
я хз как у тебя работает
The Ant
пустая строка нотенкодабле
Vlad
а вот если “”,то да упадет
The Ant
у меня боди в реквесте пустой, я прикостылил условие, чтобы в случае если пустой, работало. Не хочу этот костыль, и не знаю как избавится.
Vlad
все нормально, нашел блин костыль…
The Ant
это бага пхп :(
The Ant
точнее фича жсона
The Ant
не может быть пустой строкой :(
Gleb
По спецификации вроде было что json должен содержать хотя бы один элемент, пусть и пустой - '{}' , '[]', '""', и т.д. Такие вещи парсер обязан корректно парсить, остальное - не обязательно.
Gleb
А так, '' в response это невалидный json
Yurii
почему try catch не отловил исключение? В catch стоит отлавливание ModelManagerException события??
Дмитрий
почему у меня не работает?
блин как же тебе не прет, ты где-то сильно накосячил с ремонтом и сломал себе карму )))
Yurii
The Ant
блин как же тебе не прет, ты где-то сильно накосячил с ремонтом и сломал себе карму )))
Брехня ) мой ремонт стоит до сих пор у некоотрых без трещинок, почти как новый :D
The Ant
блин как же тебе не прет, ты где-то сильно накосячил с ремонтом и сломал себе карму )))
в 5.6пхп без ошибки был парсинг пустой строки жсон декодером пхпшным
Дмитрий
ну значит где-то еще нагрешил )) вспоминай
Дмитрий
🤔
Дмитрий
с виду вроде норм
Yurii
🤔
🤔
Yurii
с виду вроде норм
Отож и я об том же
Дмитрий
сдувай пыль с дебаггера и заводи
Roman
Подсобите советом, пожалуйста: - есть несколько entity, связанных между собой ManyToOne. - создаю самую "children" entity, назначаю ей родителя $item->setParentItem($parentItem) - делаю $em->persist($item); $em->flush($item) - получаю ошибку, что родительская entity через 2 колена не имеет обязательного заполненного поля, к примеру "name". - при повторных попытках (сообщение берется из очереди), выводится ошибка The EntityManager is closed. - у всех entity указан cascade={"persist"} что делать, куда бечь?
Юра
Стак трейс в студию
Roman
все это в messageHandler происходит к тому же...
Roman
Стак трейс в студию
тут только [2021-12-23T15:22:41.762694+03:00] messenger.CRITICAL: Error thrown while handling message App\Message\GetCertificatesMessage. Removing from transport after 50 retries. Error: "Handling "App\Message\GetCertificatesMessage" failed: The EntityManager is closed." {"message":{"App\\Message\\GetCertificatesMessage":[]},"class":"App\\Message\\GetCertificatesMessage","retryCount":50,"error":"Handling \"App\\Message\\GetCertificatesMessage\" failed: The EntityManager is closed.","exception":"[object] (Symfony\\Component\\Messenger\\Exception\\HandlerFailedException(code: 0): Handling \"App\\Message\\GetCertificatesMessage\" failed: The EntityManager is closed. at /app/vendor/symfony/messenger/Middleware/HandleMessageMiddleware.php:80)\n[previous exception] [object] (Doctrine\\ORM\\Exception\\EntityManagerClosed(code: 0): The EntityManager is closed. at /app/vendor/doctrine/orm/lib/Doctrine/ORM/Exception/EntityManagerClosed.php:13)"} []
Andrey
Ну closed из-за ошибки, а стектрейс самой ошибки есть?
Roman
15:31:08 ERROR [messenger] Error thrown while handling message App\Message\GetCertificatesMessage. Sending for retry #25 using 2000 ms delay. Error: "Handling "App\Message\GetCertificatesMessage" failed: An exception occurred while executing a query: SQLSTATE[23502]: Not null violation: 7 ERROR: null value in column "name" of relation "widget_user" violates not-null constraint\nDETAIL: Failing row contains (1afa8409-5a15-4836-a57d-162b9af5fd27, null, null, null, null, null, a:0:{})." ["message" => App\Message\GetCertificatesMessage { …},"class" => "App\Message\GetCertificatesMessage","retryCount" => 25,"delay" => 2000,"error" => """ Handling "App\Message\GetCertificatesMessage" failed: An exception occurred while executing a query: SQLSTATE[23502]: Not null violation: 7 ERROR: null value in column "name" of relation "widget_user" violates not-null constraint\n DETAIL: Failing row contains (1afa8409-5a15-4836-a57d-162b9af5fd27, null, null, null, null, null, a:0:{}). ""","exception" => Symfony\Component\Messenger\Exception\HandlerFailedException { …}]
Roman
причем в первый раз такая ошибка, в последующие The EntityManager is closed
Roman
связь WidgetUser->Widget->Order->OrderItem->Certificate
Roman
в SO нашел похожее что-то, но не то
Roman
без cascase={"persist"} начинает ругаться на A new entity was found through the relationship .... that was not configured to cascade persist operations for entity ...
Roman
я просто хочу сохранить Certificate с определенным OrderItem ))))
Юра
Там написано будет какая энтити
Юра
Дальше надо понять откуда она берется там
Roman
берется она из foreach($message->getOrder()->getOrderItems() as $orderItem)
Юра
У тебя откуда-то появляется новый ордер итем
Юра
Покажи сообщения которое без каскад персист
Roman
попробую дебагнуть orderItems
Юра
Оно должно написать что такая-то энтити в таком то рилейшене не персист
Юра
Надо понять почему она там не персист?
Юра
У тебя сериалазйер?
Юра
Короче это сложно. Надо дебажить
Юра
В твоем случае ты добавил каскад персист но ты не решил проблему, потому что проблема в том что у тебя вместо энтити из БД создаётся новая энтити