Моя путаница заключается в том, как дифференцировать оба API, будь то только сохранение или окончательный вызов отправки, потому что я должен начать рабочий процесс после окончательной отправки.Могу ли я использовать какой-либо параметр запроса, как показано ниже, для указания отправки или сохранения?
Я думаю, что было бы гораздо более распространенным закодировать этот сигнал в тело запроса, а не пытаться обойти с помощьюURL.
PUT /applications/12345
Version: 1
Status: Draft
PUT /applications/12345
Version: 2
Status: Final
Имейте в виду, что URI является идентификатором для ресурса (он же документ).Выполнение интересной работы является побочным эффектом передачи документов.См. Джим Уэббер .
Если бы вы делали все в HTML, который изначально не поддерживает PUT
, вы, вероятно, использовали бы POST, с одной формой для редактирования и другой для завершения,или, может быть, одна форма, предназначенная для обработки обоих вариантов использования.
Один вопрос, поэтому при первом сохранении или прямой отправке следует использовать POST / приложения.Я прав?
Это общий выбор, но не обязательный.Реальное различие заключается в следующем: создаем ли мы новый ресурс по целевому URL ?
Если да, то PUT
, POST
, PATCH
- все возможности.
Если нет - если мы отправляем запрос на один ресурс сервера, ожидая, что созданный ресурс будет где-то еще, тогда POST
является подходящим выбором.