如何处理“关键”REST API调用失败?

时间:2014-04-05 17:52:22

标签: django api rest

我正在创建一个与django后端API交互的移动应用。我想为app用户增加一些能力来改变一些" critical"通过应用程序调用帐户属性,并调用后端。例如,更改用户名,现在用于在每次调用时使用后端进行身份验证。成功之路很简单,但我担心导致应用程序和后端失去同步的方式会出现一些失败。例如,用户在app上调用用户名更改,在后端成功更新用户名,但是某些内容失败,应用程序永远不会得到响应。所以应用程序现在不知道旧用户名是否仍然完整或新用户名现在是后端。只是想知道是否有任何标准模式使这种类型的东西防弹。相同的方案适用于通过应用程序更改密码。

我现在唯一想到的就是在app中保留两个用户名,直到app可以确认后端的当前状态...

1 个答案:

答案 0 :(得分:0)

有一种称为“一次发布一次”语义的模式,可能就是您正在寻找的模式。 (请参阅Mark Nottingham的draft以了解此模式的建议实现。)它会产生开销,但对于您希望保证请求只处理一次的情况,这是合适的。

问题在于,目前还没有标准的方法,所以使用它会(somehwat)将您的客户端和服务器与带外知识结合在一起。