Рекомендуемый подход к созданию фасада через API веб-сервиса - PullRequest
1 голос
/ 10 мая 2011

История: есть веб-сервис, который я использую, половина которого основана на последней версии MISMO dtd (для рассматриваемого свойства), а другая половина - это отчеты, которые должны выполняться для этого свойства.Все это собрано в один большой кусок xml и ПОСТАВЛЕНО до конечной точки, ответ хороший, как вы уже догадались… xml, и многое из этого.

Проблемой является проблема отчетности.Скажем, есть 100 различных отчетов, которые можно запустить, вы можете запросить один отчет или любую комбинацию отчетов.Прямо сейчас все эти флаги являются атрибутами одного узла, вы можете включить или выключить их, установив для атрибута отчета значение Y (es) или N (o) (например, <someNode _fooReport="Y" _barReport="Y" .... />

Вопрос: Меня интересуетуслышав ваше мнение о том, как создать более чистый веб-API поверх этого, который упростит выбор отчетов для начинающих. Я использую c # 4.0.

С уважением, Стивен

1 Ответ

3 голосов
/ 10 мая 2011

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

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

В конечном итоге вы создадите поисковый API для своих отчетов. Это может быть простой список ключевых слов, например Google, в зависимости от объема выбора, который вы хотите предложить своим клиентам.

В представлении дизайна API-интерфейса URL я хотел бы рассмотреть что-то вроде

url/reports/[id OR name]

и

url/reports/?search=[query]

Это приведет к более чистому веб-API

...