Создание RESTful API
Возможно, потребуется создать интерфейс для других служб взаимодействующих с веб-приложением. При создании API можно разрешить третьим лицам получать информацию и работать с приложением программным способом.
Существует несколько способов структурирования API, но при этом рекомендуется следовать принципам REST. Архитектура REST зависит от Representational State Transfer. API-интерфейсы REST являются базовыми ресурсами. Модели представляют ресурсы и методы HTTP, такие как GET, POST, PUT или DELETE, используются для извлечения, создания, обновления или удаления объектов. В этом контексте также используются коды ответов HTTP. Возвращаются различные коды ответа HTTP, указывающие на результат HTTP-запроса, например коды ответов 2XX для успеха, 4XX для ошибок и т. д.
Наиболее распространенными форматами обмена данными в RESTful API являются JSON и XML. Мы будем строить API REST с сериализацией JSON для нашего проекта. Наш API обеспечит следующие функциональные возможности:
- Извлечение объектов
- Получение доступных курсов
- Получение содержимого курса
- Запись на курс
Можно построить интерфейс API с нуля с помощью Джанго путем создания кастомных представлений. Однако существует несколько модулей сторонних производителей, упрощающих создание API для проекта, наиболее популярный из них — это Django Rest Framework.