169 похожих чатов

Ок! а как контроллер узнает какую ошибку отправить?

16 ответов

19 просмотров

а написать обработчик, понятный клиенту?

Stanislav- Автор вопроса
Roman
а написать обработчик, понятный клиенту?

нуок)) вот контроллер: publi function makePayment(Data $data): Response { return $this->paymentManager->makePayment($data); } ты предлагаешь чтобы метод созадния платежа возвращал тексты ошибок?

Stanislav- Автор вопроса
Roman
да, это очеивдно будет

а теперь представь немного усложненную логику. контроллер вызывает сервис, который вызывает сервис, который вызывает сервис, который вызывает метод сервиса в котором какая-то сущность не найдена. получается, все твои сервисы должны будут возвращать в результате строку, которая должна дойти до контроллера и тогда он ее покажет клиенту?

Stanislav- Автор вопроса
Roman
да, это очеивдно будет

и еще одна проблема - $this->paymentManager->makePayment($data) должен вернуть Payment, а он вдруг будет строки с ошибками возвращать( где очевидность?

Stanislav
а теперь представь немного усложненную логику. кон...

сложна.... надо делать проще, на каждом сервисе своя ответсвенность и свои логи, что сломалось. идем в логи и через 1 минуту всё ясно

Stanislav- Автор вопроса
Roman
сложна.... надо делать проще, на каждом сервисе св...

это понятно, что в логах ты все поймешь, а что с читаемостью кода?

Stanislav- Автор вопроса
Roman
нет, он вернуть должен ?Payment

нет, он же должен отдать контроллеру строку с ошибкой, как ты ранее говорил

Stanislav
это понятно, что в логах ты все поймешь, а что с ч...

обработать на месте логику, а не тащить исключение через сервис-сервис-сервис

Stanislav
и еще одна проблема - $this->paymentManager->makeP...

Сильно зависит от бизнес логики. Думаю тут лучше вернуть статус объект (где внутри платежка) или кастомное исключение

Stanislav
нет, он же должен отдать контроллеру строку с ошиб...

обработать нормально через хендлер какой-нить и будет нормально

Stanislav- Автор вопроса
Roman
нет, он вернуть должен ?Payment

для метода makePayment вернуть нулл вместо результата - это пиздец как стремно

Roman
обработать нормально через хендлер какой-нить и бу...

В хэндлере отловить исключение и потом вернуть 200ую?

Stanislav- Автор вопроса
Е .
Сильно зависит от бизнес логики. Думаю тут лучше в...

да согласен, просто в упрощенных сущностях примеры привожу

Alexandr Dubickiy
В хэндлере отловить исключение и потом вернуть 200...

я не говорил именно про код, можно и 40* но с номральным текстом, что "чувак у тебя ИД юзера корявой дай нормальный", кто как договорился

Похожие вопросы

Обсуждают сегодня

Всем привет! Имеется функция: function IsValidChar(ch: UTF8Char): Boolean; var i: Integer; ValidChars: AnsiString; begin ValidChars := 'abcdefghijklmnopqrstuvwxyzABCDE...
Евгений
44
Чтобы перехватить все нажимания буков на форме, надо хук ставить? Пробовал на форме ОнКейДаун, оно ловит клаву если фокус не на компоненте с вводом текста
Serjone
15
лучше скажите, причём тут паскаль?
Alexey Kulakov
36
Всем привет! вывожу на общей стр дочерние ресурсыв каждом ресурсе галерея, и первая фотка должна выводиться на общей [!DocLister? &prepare=photo !]
Alekso
12
А можно вопрос? Мне сегодня сказали что у меня функция (которая просто заполняет массив значениями) не правильная void Full(double * arr, int n) { for (int i = 0; i < n; i...
† C E †
7
День добрый, подскажите пожалуйста, есть ли какой-то способ сказать ребару не компилировать определённое приложение? Всю доку их перечиатл ничего подобного не нашёл
Кирилл
14
Добрый вечер. Хочу чтобы у меня в классе поле было функцией, которая возвращает строку. Делаю так: interface ... TGetOutPath = function : String of object; ... protec...
Kirill Filippenok
12
Народ! Впервые клиенту пришло письмо от РКН, у вас, дескать, есть яндекс метрика, а нигде не написано, что вы ее юзаете. Никто не сталкивался?
Sasha Beep
10
Это может быть все-таки не флудвейт? у меня ботфазер принимает изменения и отображает даже что они изменились, на видео видно что он прислал якобы уже измененное описание, н...
OVERLINK
13
Здравствуйте, хочу сделать HelloWorld в консоли Дельфи, но функция API ничего не выводит, что я делаю не так? program Hello; {$APPTYPE CONSOLE} uses System.SysUtils, WinAPI.Wi...
Sergey Vinogradov
20
Карта сайта