Как создать оболочку для большого API с несколькими ответами, подобного описанному ниже? - PullRequest
0 голосов
/ 20 февраля 2019

Позвольте мне объяснить.Допустим, в какой-то организации есть какой-то сервис, который предоставляет информацию об активах компании, от выпущенных сотрудниками устройств (ноутбуков и других устройств) до больших принтеров xerox на каждом этаже и больших серверов в разных серверных комнатах.Каждый из этих объектов (ноутбуки, корпоративные принтеры, серверы) имеет свой набор атрибутов.

отл./ api / v1 / assets

Этот сервис стоит перед множеством различных баз данных управления активами.Вы в основном отправляете этот большой JSON-объект, чтобы узнать, хотите ли вы информацию о личных ноутбуках пользователей или информацию о серверах.

Запрос может выглядеть примерно так

{ "asset_type" : "laptop", "attributes" : ["assignee", "os", "physical_address", "manufacturer"]}

Ответ будет выглядеть примерно таквот так

[{"assignee" : "238947", "os":"Win7Prem", "physical_address" : "3C:BF:12:90:0A:X2", "manufacturer":"Dell"}

И только представьте, что у каждого из этих объектов было 20-30 + атрибутов, и с каждым запросом вы могли бы передавать filterList, который позволяет фильтровать ответ на основе значений 1 или более атрибутов.Например, вытащить все ноутбуки, где Производитель = "Dell".

Как бы вы разработали обертку API для этого для использования в другом приложении?

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

ИЛИ ...

Не могли бы вы написать класс AssetsAPI и создать методы?Как бы вы организовали свои звонки?Отслеживать запросы и атрибуты?Будете ли вы создавать классы для каждого из типов активов?

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

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