Rest api - основи веб-програмування

REST API має на увазі під собою прості правила:

  • Кожен URL є ресурсом
  • При зверненні до ресурсу методом GET повертається опис цього ресурсу
  • Метод POST додає новий ресурс
  • Метод PUT змінює ресурс
  • Метод DELETE видаляє ресурс

Ці правила надають простий CRUD інтерфейс для інших додатків, взаємодія з яким відбувається через протокол HTTP.

Відповідність CRUD операцій і HTTP методів:

REST API інтерфейс дуже зручний для межпрограммного взаємодії, наприклад мобільний додаток може виступати в ролі клієнта, який маніпулює даними за допомогою REST.

Pattern matching¶

Результатом запиту буде:

Для відправки POST запиту скористаємося консольної утилітою curl:

Метод URL диспетчеризації Traversal

В цьому випадку, доведеться додавати новий шлях (rout), прив'язувати його до подання (View) і найнеприємніше міняти саму виставу, або ще гірше писати нове. Таким чином зі збільшенням ресурсів, складність REST API зростає не пропорційно і в якийсь момент код стає Новомосковскемим через великі розмірів і постійно мінливій логіки у View.

Вихід з даної ситуації - відокремити ресурси від уявлень, тим самим винести частину логіки і зробити подання більш універсальними.

Ресурси можуть виглядати так:

Код 102 Список всіх людей ¶

Метод __json__ визначає яким чином перетворювати ресурс в json.

Код 103 Конкретна людина ¶

Перепишемо View таким чином, що б вона повертала тільки ресурс, а так-як ресурс вже містить в собі інформацію як віддавати json, то це подання буде універсальним як для PeopleResource. так і для PersonResource і можливо підійде іншим ресурсам які ми будемо писати в майбутньому.

Код 104 Подання (View) для traversal ресурсів ¶

Рендерер json за замовчуванням шукає метод __json__ і якщо він є то повертає його результат виклику.

Шлях, в нашому випадку, буде один, так-як вся структура винесена в ресурси (метод __getitem__).