Добавить RequestDTO и ResponseDTO в общий DTO или использовать их отдельно?
Я работаю над веб-сервисом в Java. Мне нужна помощь и совет по вопросу DTO о запросах и ответах. пройдя этот вопрос здесь на stackru:
Повторное использование DTO для различных типов запросов / ответов против ясности того, что требуется / что должно быть возвращено. Что лучше между двумя реализациями ниже:
public class PropertyRequestDTO {
private String province;
private String propertyType;
private String propertyArea;
...
public class PropertyResponseDTO {
private String address;
private String street;
private String province;
....
или это:
public class PropertyDTO {
private PropertyRequestDTO propertyRequestDTO;
private PropertyResponseDTO propertyResponseDTO;
В моей реализации при настройке этих DTO лучше и удобнее использовать PropertyDTO или использовать PropertyRequestDTO и PropertyResponseDTO отдельно?
2 ответа
Первым делом:
если вы сохраните и запрос, и ответ в 1 объекте, тогда этот объект будет тяжелее, чем один отдельный элемент, и вы всегда будете добавлять ненужную нагрузку в приложение для каждого запроса и ответа.
Вторая вещь:
Запрос и ответ не должны быть в одном объекте, если оба они не идентичны, поэтому разделяйте эти объекты. Это может привести к другим проблемам в будущем.
Я думаю, что запрос и ответ должны быть разными. Нет необходимости определять PropertyDTO. В соответствии с правилами вы передадите данные на объект отклика конечного пользователя, и вам не нужно будет снова передавать объект запроса. Так что это поможет уменьшить сетевые данные. Слой COntroller требует только PropertyRequestDTO, не нужно передавать объект PropertyResponseDTO. поэтому нет необходимости объединять эти два объекта с другим объектом. У этих двух объектов цель разная.