Ответ 1
Вы указали правильную схему. В качестве альтернативы вы можете использовать контроллеры для выполнения более сложных действий.
В вашем случае это может выглядеть так:
(action) (verb) (URI) (type)
create: POST - /emails - collection
retrieve: GET - /email/{id} - resource
update: PUT - /email/{id} - resource
delete: DELETE - /email/{id} - resource
send immediately: POST - /email/{id}/sendImmediately - controller
just send: POST - /email/{id}/send - controller
do something else: POST - /email/{id}/someOtherActionType - controller
Обратите внимание на новые контроллеры и создание изменений. Последнее довольно субъективно, но разумно (поскольку вы не можете получить доступ к URL-адресу "нет фактической электронной почты", как я бы интерпретировал "/email
" без "{id}
" ).
Дополнительные ресурсы: