В правильной реализации REST API представьте, что я пишу API, чтобы позволить пользователю изменить URI-слаг, например, изменить /acme/first
на /acme/second
.
В зависимости от того, отправляю ли ячастичная запись (patch
) или вся запись (put
), которая в настоящее время представляет first
, должен ли изменяться uri?
Например:
PUT /acme/second
{ [...], "current-slug": "first", "color": "blue" }
Положить против new uri, потому что put
означает «это идет сюда».
против
PATCH /acme/first
{ "new-slug": "second", "color": "blue" }
Патч против старого uri, потому что patch
означает «изменить то, что здесь».
Я подозреваю, что это крайний случай, но интересный, потому что фактически вся документация показывает один и тот же uri для действия put
против patch
,хотя, очевидно, post
- это вообще другое URI.