Привет всем! Я, наконец, дошел до того, что нужно разобраться с Django REST, и сегодняшняя запись будет небольшим конспектом, в котором (надеюсь) можно будет найти ответ на вопрос, который звучит как: Django Rest Framework — что это такое простыми словами?
Вдаваться в термины не буду. Кому интересно — переходим по ссылкам, и узнаем, что такое REST и когда он был придуман 🙂 По ссылке будет очень много букв, красивых терминов и прочего. Я же попробую сказать, что:
REST — это набор принципов, которые указывают как следует использовать HTTP и URL-адреса.
Кроме этого, у REST имеется пять принципов:
- Дайте все вещи идентификатору
- Свяжите все вещи вместе
- Используйте стандартизованные методы
- Особенности с несколькими представлениями
- Общение без статуса
Важно понять, что REST — не протокол (сродни HTTP и FTP). Это лишь архитектурная модель, основанная на HTTP-ресурсах:
- GET
- HEAD
- POST
- PUT
- DELETE
Кроме этого RESTFul API и Django REST Framework имеют встроенные средства визуализации для всевозможных типов возвращаемых значений. Именно потому нельзя приравнивать REST к JSON, хотя этот самый JSON является наиболее широко используемым средством визуализации.
Теперь поговорим об архитектуре REST, которая основана на:
- Ресурсах:
которые обычно в Django показываются через серилизаторы. Например: User/Invoice/Groupe - Действиях:
которые определяют, что любой, использующий API, планирует делать с ресурсом. Все действия сопоставляются с HTTP VERBS, и наиболее часто используемыми являются: GET/POST/PUT/PATCH/DELETE.Например:
-
GET/users #Возвращает список пользователей
-
GET/users/<id> #Возвращаем информацию по конкретному пользователю
-
POST/users #Создаем нового пользователя
-
PUT/users/<id> #Полностью изменяем определенного пользователя
-
PATCH/users/<id> #Частично обновляем информацию пользователя
-
DELETE/users/<id> #Удаляем определенного пользователя
-
- Представлениях:
которые в REST — означают то, как данные ресурса показываются тому, кто делает запрос в конкретной конечной точке. Чаще всего эти функции показываются в формате JSON (но никто не говорит, что они могут иметь другие форматы).-
[
-
{
-
«id»: 1,
-
«name»: «Vasya Pupkin»,
-
},
-
{
-
«id»: 2,
-
«name»: «Pisya Kamushkin»,
-
},
-
{
-
«id»: 3,
-
«name»: «Ivan Petrov»,
-
}
-
]
-
На этом азы закончены. Более подробно о работе с Django REST Framework мы поговорим уже завтра (надеюсь, а то я еще сам вникаю 🙂 ).
Как всегда — в случае возникновения вопросов пишите на почту, или в Telegram.