тут лучше было бы по структуре сделать:
у меня есть 2 эндпоинта, которые высчитывают стоимость доставки из шопифая. первый для фронта, второй для вебхука шопифая
отличие этих методов лишь в формате получаемых и возвращаемых данных. основная логика – высчитать стоимость доставки.
у меня есть два класса ShippingRequest и один сервис ShippingCostService
как было бы лучше сделать, чтобы я мог в ShippingCostService@calculateShippingCost() мог отправлять с обеих эндпоинтов одно DTO?
на каком этапе тут лучше было бы создать объект дто?
нормально было бы в ShippingCostService создать два метода: createDtoFromShopify() и createDto()?
тем более не нужно это делать FormRequest в FormRequest (у тебя их будет 2) ты только проверишь полученные данные, а преобразование в нужное (в твоем случае единственное DTO) преобразуешь в отдельном сервис классе, а потому это DTO передаешь в сервис класс расчета стоимости
вот интересно, как обычно называют эти сервис классы, в котором переобразовывают дто? и в чем его суть? просто вернуть дто?
суть из разных данных получить готовое DTO, в твоем случае будет два разные request-а
ты можешь такие методы делать в самом дто, но они должны быть максимально простыми. но это не твой случай пока что.
Обсуждают сегодня