Каков наилучший подход / практика при документировании REST API с этим сценарием?
Возможно, стоит рассмотреть доклад Джима Уэббера 2011 года. ;короче говоря, если вы выполняете REST, то вы передаете документы - полезная работа, выполняемая для вашей доменной модели, - это побочный эффект манипулирования документами.
Если вы используете PUT
/ PATCH
, тогда вы в основном выполняете удаленную авторизацию - то есть вы просите сервер принять вашу локальную копию документа. И это прекрасно , даже когда сервер, принимая ваши изменения, также будет изменять свое представление других ресурсов.
Вместо этого вы могли бы спроектировать протокол домена приложения, чтобы сделать удаленнымредактирует документ сотрудника напрямую или даже POST
-ing редактирует этот ресурс, что, в свою очередь, может иметь побочные эффекты для ресурса навыка.
Помните, первое приложение, разработанное с использованием архитектурного стиля REST, былоВсемирная сеть;наиболее распространенным типом мультимедиа для определения протоколов доменных приложений был HTML, а единственным небезопасным методом запроса, изначально поддерживаемым HTML, был POST
- и это было катастрофически успешно.
Так что POST
равно отлично .
Ситуация усложняется, когда вы пытаетесь поддерживать универсальные компоненты, которые хотят воспользоваться преимуществами кэширования . Затем вам нужно подумать о правилах аннулирования кэшированных данных при разработке протокола.