2013-09-19 4 views
4

Я разрабатываю API REST с помощью Zend Framework 1.12.3. Было бы полезно иметь параметр, чтобы иметь возможность возвращать дополнительную информацию для возврата (другие коллекции/ресурсы или родительские/дочерние ресурсы).REST API, включающий/фильтрацию дополнительных полей/ресурсов/коллекций

E.g. http://api.example.com/project/:id?include=Company,Company.users

Компания, Company.users представляет компанию, которой принадлежит проект, и пользователи этой компании, и поэтому эти две коллекции включены в ответ, который иначе не был бы включен.

Я кратко прочитал об этом (ограничение полей, возвращаемых API здесь http://www.vinaysahni.com/best-practices-for-a-pragmatic-restful-api#limiting-fields), но я хотел бы узнать больше.

Есть ли какие-либо рекомендации относительно наилучшей практики в отношении этой проблемы? У вас есть какой-то пример, регулирующий это?

Вы когда-нибудь сталкивались с подобной проблемой (включая поля, поля фильтрации и т. Д.) И как вы ее разрешили?

ответ

2

Некоторые примеры синтаксиса, используемых для выбора расширения/поля поля в дикой природе:

  • на Facebook field expansion. Мне очень нравится синтаксис здесь, который позволяет разбивать на страницы вспомогательные ресурсы.
  • в LinkedIn field selectors

Мы хотели, чтобы обеспечить подобную функциональность наших API, и пошли с подобным синтаксисом с расширением Facebook поля. К сожалению, библиотек не так много, чтобы помочь в этом, поэтому мы продвигаем нашу собственную реализацию. (Существует yoga для Java, а shona для scala находится на ранних стадиях, но ни один из них не поможет вам с PHP).

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