Что делать, если сеть перестала работать, прежде чем можно прочитать ответ POST - PullRequest
1 голос
/ 13 декабря 2011

При доступе к службе REST от клиента, имеющего ненадежное сетевое соединение (например, некоторая дрянная сотовая сеть), каковы некоторые рекомендации по обработке ошибки, когда сетевое соединение прерывается до того, как может быть прочитан ответ на POST. Поскольку сообщения POST не являются идемпотентами, повторять наивно небезопасно. Есть ли лучшие практики для этого? Предположим, я также разрабатываю сервисный конец, так что на этом конце провода также нет никаких ограничений.

1 Ответ

1 голос
/ 13 декабря 2011

Напишите протокол, который не позволяет создать второй ресурс, когда клиент не использовал первый.Например, после GETting ресурса клиент должен POST вернуть, что он его использовал, чтобы служба смело могла создать еще один, когда приходит следующий GET.Если POST подтверждения не приходит, сервер должен отвечать на каждый последующий GET, отправляя один и тот же ресурс, который был создан для первого GET (это может зависеть от клиента).- Таким образом, вы можете безопасно повторить GET по истечении заданного интервала времени ожидания.(Если количество повторов превышает заданное значение, это означает, что у вас есть постоянная ошибка сети или службы, о которой вам придется уведомить пользователя.)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...