проблема здесь в том, что действие является частью REST URL
Это не проблема - клиенты не зависят от URL для семантики, поэтому вы можете использовать любое написание, которое вам нравится;api/v1/4dc233fa-c77c-49d7-b7d6-296ffeb89612
вполне удовлетворительно.
Это аналогично наличию глагола в качестве имени переменной - это может не соответствовать вашим локальным стандартам кодирования, но компилятору все равно. То же самое относится и к вашему URL, и к компонентам общего назначения, которые его используют.
Выбор хорошего идентификатора подобен выбору хорошего имени;это требует четкого понимания того, что это за вещь. В случае URI / URL идентифицируемая вещь - это ресурс, который должен сказать что-то, что описано в документе. GET / POST / PUT / DELETE и т. Д. - это все запросы, которые мы делаем с базовым документом, что-то интересное.
Таким образом, обычным шаблоном может быть POST-сообщение transform
в ресурс workunit или POSTtransform
сообщение для ресурса Document или POST для синхронизации сообщения с ресурсом Workunit.
Хм, последнее звучит задом наперед;если рабочий блок не изменился, а документ был изменен синхронизацией, то вы, вероятно, отправили бы сообщение синхронизации на ресурс документа.
Так что, если у меня есть / api / v1 / documents / 1, и мне нужночтобы синхронизировать его, я обычно использовал бы POST /api/v1/documents/1
с семантикой синхронизации, описанной в теле сообщения (в Интернете это обычно было бы application/x-www-form-urlencoded
представление сообщения синхронизации).
Но этос таким же успехом может быть сообщение «Синхронизировать документы / 1 с workitem / 2», что я POST
в списке задач синхронизатора.
Мы просто вежливо помещаем документы на серверв лоток , чтобы он мог выполнять полезную работу. В лотке может быть любой ярлык.