поиск рекомендуемого шаблона проектирования для извлечения определенных атрибутов через REST - PullRequest
0 голосов
/ 14 марта 2012

считают http://server/noun.json?noun_id=<integer>.Что если существительное имеет сотни атрибутов, и я хочу получить все или некоторые из них?Я думаю о чем-то вроде

// a canned set of attributes
http://server/noun.json?noun_id=<integer>

// all attributes
http://server/noun.json?noun_id=<integer>?columns=all

// specified attributes
http://server/noun.json?noun_id=<integer>?columns=[col1,col3,col4,col7]

// to help make a decision, a "describe" returns a list of attributes
http://server/noun.json?describe=?

Предложения?

1 Ответ

0 голосов
/ 14 марта 2012

Я думаю, что вы на правильном пути с вашим третьим вариантом.Вот пример производственного API, который извлекает отчет и запрашивает, чтобы результаты отчета были отфильтрованы по ряду критериев через параметры URL.

https://demos.nubic.northwestern.edu/psc/api/v1/docs#d2e2591

Вызов APIпринимает много вариантов:

/reports/scheduled-activities?study&site&state&activity-type&label&start-date&end-date&start-ideal-date&end-ideal-date&responsible-user&person-id

, что позволяет выполнять reports из scheduled-activities (запланированное мероприятие - это просто элемент, который отображается в календаре) и, при желании, фильтровать результаты по заданным критериям,Указание no критерия фильтрации просто возвращает all scheduled-activities в системе.

Например, если я хотел получить список всего, что запланировано на «Джо Смита»на сайте NU, и при условии, что у Джо есть идентификатор человека 1234, вызов API может выглядеть примерно так:

/reports/scheduled-activities?site=NU&person-id=1234

...