Django Rest Framework — что это такое простыми словами. Часть 1

Привет всем! Я, наконец, дошел до того, что нужно разобраться с Django REST, и сегодняшняя запись будет небольшим конспектом, в котором (надеюсь) можно будет найти ответ на вопрос, который звучит как: Django Rest Framework — что это такое простыми словами?

Вдаваться в термины не буду. Кому интересно — переходим по ссылкам, и узнаем, что такое REST и когда он был придуман 🙂 По ссылке будет очень много букв, красивых терминов и прочего. Я же попробую сказать, что:
REST — это набор принципов, которые указывают как следует использовать HTTP и URL-адреса.

Кроме этого, у REST имеется пять принципов:

  1. Дайте все вещи идентификатору
  2. Свяжите все вещи вместе
  3. Используйте стандартизованные методы
  4. Особенности с несколькими представлениями
  5. Общение без статуса

Важно понять, что REST — не протокол (сродни HTTP и FTP). Это лишь архитектурная модель, основанная на HTTP-ресурсах:

  • GET
  • HEAD
  • POST
  • PUT
  • DELETE

Кроме этого RESTFul API и Django REST Framework имеют встроенные средства визуализации для всевозможных типов возвращаемых значений. Именно потому нельзя приравнивать REST к JSON, хотя этот самый JSON является наиболее широко используемым средством визуализации.

Теперь поговорим об архитектуре REST, которая основана на:

  1. Ресурсах:
    которые обычно в Django показываются через серилизаторы. Например: User/Invoice/Groupe
  2. Действиях:
    которые определяют, что любой, использующий API, планирует делать с ресурсом. Все действия сопоставляются с HTTP VERBS, и наиболее часто используемыми являются: GET/POST/PUT/PATCH/DELETE.

    Например:

    GET/users #Возвращает список пользователей 
    GET/users/ #Возвращаем информацию по конкретному пользователю
    POST/users #Создаем нового пользователя 
    PUT/users/ #Полностью изменяем определенного пользователя
    PATCH/users/ #Частично обновляем информацию пользователя 
    DELETE/users/ #Удаляем определенного пользователя
    
  3. Представлениях:
    которые в REST — означают то, как данные ресурса показываются тому, кто делает запрос в конкретной конечной точке. Чаще всего эти функции показываются в формате JSON (но никто не говорит, что они могут иметь другие форматы).

    [ 
    { 
    «id»: 1, 
    «name»: «Vasya Pupkin», 
    }, 
    { 
    «id»: 2, 
    «name»: «Pisya Kamushkin», 
    }, 
    { 
    «id»: 3, 
    «name»: «Ivan Petrov», 
    } 
    ] 
    

На этом азы закончены. Более подробно о работе с Django REST Framework мы поговорим уже завтра (надеюсь, а то я еще сам вникаю 🙂 ).

Как всегда — в случае возникновения вопросов пишите на почту, или в Telegram.

Support the Blog!

Running a blog takes a lot of effort, time, and passion. Your donations help improve the content, inspire new ideas, and keep the project going.
If you’ve enjoyed the blog’s materials, any support would mean the world to me. Thank you for being here! ❤️

PayPal Logo Donate via PayPal

Revolut Logo Donate via Revolut