В настоящее время мы разрабатываем REST API для доступа к классическим данным клиентов. Одним из элементов 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'ing к пути ресурса, который еще не существует вообще?
Спасибо за ваши мысли,
Джерард.