О, мне это напомнило один helpdesk, которую написала контора из Малайзии для заказчика из Индии. Чуваки сделали все так плохо, что это прям в палату мер и весов надо заносить. Осторожно, читать это будет очень больно.
Похоже они не знали, что можно в рамках отрисовки одной страницы (SSR) получать из базы или других систем данные, а затем на их основе с помощью компонентов таблиц, списков, форм и прочего быстро отрисовывать страничку. Нет, hard mode on.
Шаблонов нет, вместо них на страницу добавляется iframe с URL, по которому отрисовывается лишь один единственный компонент. При необходимости отрисовать несколько одинаковых компонентов вставляется несколько iframe.
Использовать join для получения дочерних объектов? Слишком сложно, передаём в этот iframe параметр родительского объекта через query part, а тот сам найдет нужные дочерние записи через where.
Валидация полей ввода? Зачем, у полей нет ни примеров значений, ни проверки на тип, у обязательных полей нет ни текстовой пометки или выделения, а уж тем более запрета на отправку формы.
Ты не заполнил поле, а оно обязательное? Вместо предупреждения об этом ты получишь ошибку "ORA-01400: cannot insert null" прямо из БД.
Ожидал наличия всплывающих сообщений или подтверждений? Хрен там, открывалось новое окно браузера (в минимальном режиме), где отрисовывается очередной iframe.
Обновлять данные на странице родительской сущности после того, как с этой же страницы изменялись дочерние записи (вроде комментариев)? Упс, из-за повсеместных iframe это можно делать только через обновление всей страницы.
А я всего лишь искал где у этой штуки REST API и какие там есть сущности. А там мешанина в способах наименования полей, в GET запросе запись могла вернуться с типом поля string, но при выполнении PUT ожидала там int, а ещё использовала xml с content-type: text/plain.
И этот пиздец кто-то реально использовал в проде 😱.