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

Web services 确认提交到web API的正确方法是什么?,web-services,rest,asp.net-web-api,Web Services,Rest,Asp.net Web Api,我有一个不断记录信息的移动设备。信息存储在设备的本地数据库中。每隔几分钟,设备就会通过RESTAPI将数据上传到服务器上——有时上传的数据对应于同一个表中的几十条记录。现在,服务器以 {status: "SAVED"} 如果数据保存到服务器 为了100%确保数据确实被上传(这样设备就不会再次尝试上传数据),这个简单的响应就足够了吗?或者我应该对传入的数据进行散列并用它进行响应,或者类似的事情?也许我应该发回设备表行的本地行ids?我认为如果整个请求确实成功保存,则可以有一个非常简单的“成功”响

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

{status: "SAVED"}
如果数据保存到服务器


为了100%确保数据确实被上传(这样设备就不会再次尝试上传数据),这个简单的响应就足够了吗?或者我应该对传入的数据进行散列并用它进行响应,或者类似的事情?也许我应该发回设备表行的本地行
id
s?

我认为如果整个请求确实成功保存,则可以有一个非常简单的“成功”响应

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

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

一个成功的回应可以是以下简单的事情:

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

1.
错误响应可能类似于:

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

0
441
8462
12

你可能会觉得很奇怪,有不同的状态代码,这意味着不同的、更具体的消息。

我最终用每个保存的id进行响应,并让设备将响应中的id标记为已上载。我仍然想知道这是否是绝对必要的。尽管这样做有利于停止上传已经保存到服务器上的数据,因为单个记录会导致错误响应。