У вас заголовок вопроса не совпадает с телом, и код не отформатирован. В лучшем случае вы этим сокращаете количество готовых вам помочь, в худшем модераторы удалят вопрос.
evomed, это не уязвимость, а бизнесовое поведение. Мне чаще всего заказывали интернет-магазины, у которых фиксация заказа происходила именно в момент нажатия кнопки "оформить". Далее заказ находился в статусе ожидания оплаты. Иногда действовало ограничение на срок нахождения в этом статусе.
evomed, конечно нет. Пока клиент не купил товар, у него может много раз измениться цена например. А вот после покупки история должна оставаться неизменной, если не хочется намотаться на проблем с роспотребнадзором и налоговой.
evomed, я её и имел ввиду. Таблица корзин должна хранить внешний ключ на покупателя, внешний ключ на товар и поле для количества товара. Можно ещё дату добавления товара в корзину для обнаружения брошенных корзин. А таблица элементов заказа - это наименование заказа, цена товара на момент покупки и количество купленных товаров. Можно дополнительно хранить внешний ключ на товар для аналитики.
Wan-Derer, возможно Flux<DataBuffer>, возможно Mono<ServerResponse>, где в body передан Publisher, может быть и что-то ещё. Зависит от того, какой файл вы формируете и как.
YakovenkoND, какие именно учебники читать зависит от того, чем именно хочет занять автор и в каком году задал вопрос. Во всех контекстах и временах корректным мой ответ останется именно в текущем виде - указывающим на то, что карьеру надо начинать не с курсов.