确认提交到Web API的正确方法是什么?

时间:2012-08-01 18:40:42

标签: web-services rest asp.net-web-api

我有一个不断记录信息的移动设备。信息存储在设备的本地数据库中。每隔几分钟,设备就会通过REST API将数据上传到服务器 - 有时上传的数据对应于来自同一个表的数十个记录。现在,服务器以

响应
{status: "SAVED"}

如果数据已保存到服务器。

为了100%确定数据实际上传(因此设备不会再次尝试上传),这个简单的响应是否足够?或者我应该对传入的数据进行散列并使用它进行响应,或类似的东西?也许我应该发回设备表格行的本地行id

1 个答案:

答案 0 :(得分:2)

如果整个请求确实成功保存,我认为有一个非常简单的“SUCCESS”响应很好。

但是,我认为当出现问题时,您的响应需要包含未能保存的记录的ID(或其他一些唯一标识符),以便它们可以排队等待重新发送。

如果相同的记录多次失败,您可能需要记录错误或显示错误,以便采取进一步的措施。

成功的回应可能很简单:

<response>
    <status>1</status>
</response>

错误响应可能类似于:

<response>
    <status>0</status>
    <errorRecords>
        <id>441</id>
        <id>8462</id>
        <id>12</id>
    </errorRecords>
</response>

您可以获得幻想并拥有不同的状态代码,这些代码意味着不同的,更具体的消息。