Управление сервером и клиентом после POST и DELETE - PullRequest
0 голосов
/ 24 октября 2018

Итак, вот проблема, с которой я сталкиваюсь при принятии решения. Хотелось бы узнать, что является лучшим методом и какой выбрать.

Предположим, у нас есть список элементов, которые мы используем GET, чтобы получить все списки.и мы делаем POST для редактирования и DELETE для удаления списка.После успешного выполнения любого из этих запросов, каковы рекомендации, чтобы убедиться, что состояние клиента синхронизировано с состоянием сервера.

  1. GET для получения всех списков
  2. разрешить серверу вернуть всесписки после операций редактирования или удаления.
  3. или клиент должен доверять 200 OK и обновить состояние клиента с помощью изменяющихся списков

1 Ответ

0 голосов
/ 24 октября 2018

Это очень основано на мнении, так как здесь много переменных.В идеале я бы всегда говорил, отбрасывать состояние клиента и всегда получать данные после обновлений.Это, конечно, полностью зависит от стоимости / сложности восстановления этого состояния.Если это дешево / мало, продолжайте и заново ПОЛУЧИТЕ списки ... это намного проще, чем пытаться поддерживать синхронизацию состояний.Если вы действительно обновляете локальный кеш, убедитесь, что это шаблон CACHE, а не шаблон REPOSITORY.Это означает, что вы не обязательно должны доверять кешу для важных операций, и что вы должны делать такие вещи, как проверка сущностей перед их обработкой.

Я бы не возвращал обновленные списки из POST / DELETE, обновленные сущности - этохорошо, но весь список должен быть последующим GET.Все остальное, и вы не только нарушаете REST, но и определяете поведение клиентского приложения в вашем сервисе (что вы не хотите делать).

...