Пользовательские DTO для веб-сервисов - PullRequest
1 голос
/ 25 мая 2011

В настоящее время у меня есть веб-сайт MVC, и я собираюсь создать API для предоставления ограниченной функциональности мобильному клиенту. У моего сайта есть логический слой, где у меня есть DTO, которые я использую для отображения информации на сайте.

Следует ли при создании API открывать клиенту эти же DTO или создавать DTO, специально предназначенные для использования в API? Я буду создавать новые контроллеры и методы действий, поэтому может иметь смысл также создавать специфичные для API DTO.

Мне кажется, что создание API вынуждает вас заключить договор с мобильным клиентом, чтобы сделать изменения было сложнее. Наличие отдельных DTO позволяет свободно вносить изменения в DTO, которые используются только на сайте.

Однако недостатком является то, что я в основном дублирую свой код, поскольку DTO будут в основном одинаковыми.

Мысли

1 Ответ

1 голос
/ 25 мая 2011

IMO, решение по этому вопросу будет в основном основываться на том, что все данные мне нужно передать в представление, если в обоих случаях они будут одинаковыми, я буду использовать одни и те же DTO.Если это не так, то я бы создал базовый класс для DTO, который имеет общие функции в API для определенного представления, и унаследовал от этого базового DTO и добавил дополнительные свойства в производный класс, специфичные для потребностей API.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...