REST, гипермедиа и HATEOAS
Вы продолжаете использовать это слово "REST". Я не думаю, что оно означает то, что вы думаете, что оно означает.
Майк Амундсен, REST fest 2012 keynote.
Во-первых, отказ от ответственности. Название "Django REST framework" было принято еще в начале 2011 года и было выбрано просто для того, чтобы разработчики могли легко найти проект. Во всей документации мы стараемся использовать более простую и технически корректную терминологию "Web API".
Если вы серьезно относитесь к разработке Hypermedia API, вам следует обратиться к ресурсам за пределами этой документации, чтобы помочь в выборе дизайна.
Следующее относится к категории "обязательного чтения".
Диссертация Роя Филдинга - Архитектурные стили и проектирование сетевых архитектур программного обеспечения.
Запись в блоге Роя Филдинга "REST API должны быть гипертекстовыми".
Leonard Richardson & Mike Amundsen's RESTful Web APIs.
Mike Amundsen's Building Hypermedia APIs with HTML5 and Node.
Steve Klabnik's Designing Hypermedia APIs.
For a more thorough background, check out Klabnik's Hypermedia API reading list.
Для получения более подробной информации ознакомьтесь со списком Hypermedia API reading list Клабника.
Создание гипермедийных API с помощью DRF
DRF - это агностический инструментарий Web API. Он помогает ориентироваться в создании хорошо связанных API и облегчает разработку соответствующих типов носителей, но не обеспечивает строгого соблюдения какого-либо определенного стиля оформления.
Что предоставляетсобой DRF.
Само собой разумеется, что DRF позволяет создавать гипермедийные API. Web-интерфейс API, который он предлагает, построен на HTML - гипермедийном языке Интернета.
DRF также включает serialization и parser/renderer, которые облегчают создание соответствующих типов медиа, гиперсвязанные отношения для создания хорошо связанных систем, и отличная поддержка согласования контента.
Чего не предоставляет DRF.
Чего DRF не делает, так это не дает вам машиночитаемых гипермедийных форматов, таких как HAL, Collection+JSON, JSON API или HTML microformats по умолчанию, или возможности автоматически создавать API в стиле HATEOAS, которые включают гипермедийные описания форм и семантически маркированные гиперссылки. Это потребует принятия решений о дизайне API, которые должны оставаться за пределами сферы применения фреймворка.
Last updated