Skip to content

Django REST API research

Nikolay edited this page Apr 10, 2015 · 2 revisions

Веб-сервис

Веб-cервис (англ. web service) — идентифицируемая веб-адресом программная система со стандартизированными интерфейсами. Веб-службы могут взаимодействовать друг с другом и со сторонними приложениями посредством сообщений, основанных на определённых протоколах (XML, JSON и т. д.). Веб-служба является единицей модульности при использовании сервис-ориентированной архитектуры приложения.

Что такое REST?

Rest (сокр. англ. Representational State Transfer, «передача состояния представления») — стиль построения архитектуры распределенного приложения. Данные в REST должны передаваться в виде небольшого количества стандартных форматов (например HTML, XML, JSON). Сетевой протокол (как и HTTP) должен поддерживать кэширование, не должен зависеть от сетевого слоя, не должен сохранять информацию о состоянии между парами «запрос-ответ». Утверждается, что такой подход обеспечивает масштабируемость системы и позволяет ей эволюционировать с новыми требованиями.

По сабжу было найдено множество решений. Некоторые из них:

Список всех известных библиотек для создания API. Исходя из описания возможностей всех представленных решений считаю выбор Django REST framework оптимальным:

  • Наличие хорошей документации
  • Проект постоянно обновляется (уже поддерживает Django 1.8, а так же python последней версии)
  • Наличие стабильной версии (не альфы и не беты, как у остальных пакетов)
  • Существует парочка подробных гайдов на русском языке по использованию фреймворка, а также несколько англоязычных