У меня есть REST API, который предоставляет сложный большой ресурс, и я хочу иметь возможность клонировать этот ресурс. Предположим, что ресурс открыт в /resources/{resoureId}
Чтобы клонировать ресурс 10, я мог бы сделать что-то вроде.
-
GET /resources/10
-
POST /resources/
body of put, содержащий дубликат представленияGET /resources/10
без идентификатора, так чтоPOST
создает новый ресурс.
Проблема с этим подходом заключается в том, что ресурс очень большой и сложный, на самом деле нет смысла возвращать полное представление клиенту, а затем отправить его клиенту, поскольку это будет всего лишь пустой тратой пропускной способности, и cpu на сервере. Клонирование ресурса на сервере намного проще, поэтому я хочу это сделать.
Я мог бы сделать что-то вроде POST /resources/10/clone
или POST resources/clone/10
, но оба этих подхода ошибочны, потому что глагол в URL-адресе.
Каков наиболее "успокоительный/нунильный" способ создания URL-адреса, который можно использовать в этом типе ситуации?