Ниже приведен пример формата ответа и эквивалентный сервисный контракт моего веб-сервиса выглядит следующим образом.
<Players>
<Player>
<Name>Sachin</Name>
<Sport>Cricket</Sport>
<SportType>Team Game</SportType>
</Player>
<Player>
<Name>Ronaldo</Name>
<Sport>Football</Sport>
<SportType>Team Game</SportType>
</Player>
<Player>
<Name>Alfred</Name>
<Sport>Shooting</Sport>
<SportType>Individual</SportType>
</Player>
</Players>
Теперь команда пользовательского интерфейса запрашивает новую функцию, в которой они хотят, чтобы логика группировки различных полей в службе.Например, во входном запросе во вновь открытое поле «groupBy», которое они могут отправить, можно отправить имя поля «Sport», а затем они хотят, чтобы элемент Player сгруппировался по «Sport» в ответ, и то же самое возможно для «SportType».
<SportTypes>
<SportType>
<Type>Team Game</Type>
<Players>
<Player>
<Name>Sachin</Name>
<Sport>Cricket</Sport>
</Player>
<Player>
<Name>Ronaldo</Name>
<Sport>Football</Sport>
</Player>
</Players>
</SportType>
<SportType>
<Type>Individual</Type>
<Players>
<Name>Alfred</Name>
<Sport>Shooting</Sport>
</Players>
</SportType>
</SportTypes>
У меня нет проблем с группировкой полей после извлечения их из базы данных, но я не знаю, как определить контракт на обслуживание для динамического ответа на сервис, поскольку структура ответа изменится после группировки. По некоторым очень странным (возможно, глупым) причинамПользовательский интерфейс команды не хочет делать эту группировку, поэтому это должно быть сделано в сервисе.Возможно я подхожу к проблеме неправильно. Любая помощь приветствуется.