Формування URL для REST API
При написанні API потрібно давати правильні назви ресурсам. Адже інтуїтивні та прості найменування спрощують використання сервісу.
Кінцеві URL за запитом ресурсу також називають endpoints API.
Хороший підхід вибору найменування:
Для опису базових URL використовують іменники у множині - users, contacts.
Використовують конкретні та чіткі імена - на кшталт news, videos, а не абстрактні items або elements.
Складну логіку URL описують додаванням властивостей. Параметри ховають за знаком питання ?. Наприклад як при організації пагінації: /news?limit=25&offset=50
Розглянемо приклади хороших практик найменування:
Створити дані про клієнта:
Отримати дані клієнта з ідентифікатором клієнта ID 112233:
Такий само URL використовують для HTTP методів PUT та DELETE для оновлення та видалення відповідно.
Створення нового продукту:
Для читання, оновлення, видалення продукту з ID 432111, відповідно:
Створення нового замовлення для клієнта поза контекстом клієнта
Створення того ж замовлення, але в контексті конкретного клієнта з ID 332244
Список замовлень, що належать клієнту ID 332244:
Нехай необхідний URL для додавання нової позиції на замовлення з ID 1234, для клієнта з ID 332244:
Отримання списку замовлення за ID замовлення без знання ID конкретного клієнта
Пагінацію проводять через query-рядок за допомогою параметра offset - це початковий номер позиції, та параметр limit - максимальна кількість елементів, що повертаються. Вони можуть мати й інші назви, наприклад skip, limit
Складна фільтрація за значеннями. Можна використовувати роздільник подвійна двокрапка ::, яке відокремлює ім'я властивості від значення порівняння
Сортування - Один зі способів, коли для кожної переданої властивості проводиться сортування в порядку зростання, а для кожної властивості, з префіксним тире ("-") сортування проводиться за зменшенням. Сепаратор для кожного імені властивості вертикальна риска ("|")
Last updated