Post on 26-Jul-2015
Digital Consulting Laboratory www.apibest.com 2
Омеляненко Тарас
Доповідач
- Digital Consulting Laboratory,CEO, Co-founder
- ThinkPHP community,Co-organizer
- Architect - Full Stack developer - DevOps
Digital Consulting Laboratory www.apibest.com 3
Обмін данимиЯк працює та для чого використовують RESTful API?
Система управлінського
обліку
Запит
Відповідь
RESTful APIID: 2
ID: 1
ID: 3
ID: x
.
.
.
Замовлення
Картки товарів
Залишки
…
Інтернет-магазин
Digital Consulting Laboratory www.apibest.com 4
5 ознак високоякісного APIДля чого використовують API?
Семантичне
Документоване
Перевірене
Швидкісне
Розширюване
Digital Consulting Laboratory www.apibest.com 5
Документоване
НАЗВА МЕТОДУ
Опис серверної та клієнтської логіки які взаємодіють з даним методом
Уніфікований ідентифікатор ресурсу (URI)
Фільтри
Модель запиту Модель відповіді
HTTP Коди
Digital Consulting Laboratory www.apibest.com 6
ID: 2
ID: 1
ID: 3
ID: x
.
.
.
Data Layer
Business data
Семантичне
GET /resource/id.format?color=green
Headers
Data
Request
Headers
Data Response
Digital Consulting Laboratory www.apibest.com 7
Приклади семантичних URIСемантичне
GET /api/v1/labels.json GET /api/v1/labels/{labelId}.json POST /api/v1/labels.json PUT /api/v1/labels/{labelId}.json PATCH /api/v1/labels/{labelId}.json DELETE /api/v1/labels/{labelId}.json
Digital Consulting Laboratory www.apibest.com 8
Перевірене
Jenkins Codeception JMeter
Digital Consulting Laboratory www.apibest.com 9
≈ 2329 мсEntity
Швидкісне
≈ 84 мсData Transfer Object x 27
Data Transfer Object
Digital Consulting Laboratory www.apibest.com 10
Розширюване
Масштабованне
Версійне
Структуроване
Зрозуміле
Digital Consulting Laboratory www.apibest.com 11
Демонстрація
1 PHP2 MySQL3 Symfony 24 Swagger5 Codeception