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__).