Зараз ми розробляємо API REST для доступу до класичних даних клієнтів. Одним із елементів в API є активи користувача. Активи додаються під певну послугу. Резервний API додасть актив лише користувачеві в рамках певної послуги. Отже, немає відношення Користувач - Активи, але Користувач - [Сервіс] - Асоціація активів.
Наші URI будуть виглядати так:
/users/{id}/assets/{id}/services/{id}
Використання API дізнається ідентифікатор об’єкта та ідентифікатор служби для створення нового запису. З чим ми боремося - це створення цього відношення.
Одним із прямих способів було б опублікувати все відношення до /users/{id}/assets/
POST /users/{id}/assets
{asset:${id}, service:{id}, attribute1:"{var}", attribute2:"{var}"}
але тоді ми фактично не створюємо актив, як може вказати URI, а відношення ресурс-послуга.
Як альтернативу, ми розглядаємо POST'ing до URI, що адресує відношення, таким чином:
POST /users/{id}/assets/{id}/service/{id}
{attribute1:"{var}", attribute2:"{var}"}
Але в цьому випадку шлях до ресурсу /users/{id}/assets/{id}
не буде існувати до POST і створюватиметься як побічний ефект.
Чи POST переходить на ресурсний шлях, який ще не існує взагалі?
Дякуємо за ваші думки,
Джерард.