2012-04-27 3 views
0

Можно ли возвращать разные DataMembers класса в зависимости от конечной точки, из которой она возвращается?Возвращать разные данные из разных конечных точек

С одной конечной точки я хочу вернуть только некоторые базовые DataMembers класса, но из другой конечной точки я хочу вернуть более подробные члены того же класса.

Моя мысль состоит в том, что у меня может быть базовый класс и вывести другой класс, который имеет более подробную информацию и возвращает их с разных конечных точек, но мне также было интересно, есть ли другой способ, которым это может быть достигнуто?

+1

Можете ли вы показать, что вы пробовали? –

+0

Не могли бы вы привести пример сервисного интерфейса и объектов, которые вы хотите отправить? – Bronumski

ответ

0

Ваше предложение совершенно разумно. В любом случае эти классы DTO в любом случае (предположительно), и их цель состоит в том, чтобы отделить ваши бизнес-модели от ваших моделей сообщений. Если у вас есть две модели сообщений, одна из которых выводит (или содержит) другую.

Рассмотрите, как выглядит альтернативная модель? Один тип со сложными аннотациями, обозначающий, к какой службе принадлежат эти члены данных? Это быстро стало бы громоздким, и это даже не связано с тем, как ваши бизнес-объекты будут сопоставляться с этой моделью (т. Е. Сопоставление должно знать, какая конечная точка называется? Это очень уродливо).

Так просто:

public class EntityBase 
{ 
    // basic details here 
} 

public class EntityDetails: EntityBase 
{ 
    // more complex details initialised here 
} 

Тогда ваши конечные точки могут быть сильно типизированных против них, вы можете поделиться отображения логики, и вы добиться того, что вы хотите.

Смежные вопросы