REST Web api 应用程序数据管理

REST Web api application data managment

我很困惑应该如何管理我开发的 RESTful Web 应用程序中的数据。应该在客户端保存多少数据?

更具体的例子:

我的应用程序将信件从一个系统发送到另一个系统。我使用 Sql 服务器将字母保存在服务器端。对于每个字母,都有目的地和由地址对象表示的源,地址对象包含有关地址的完整信息。我无法决定我应该如何管理我的应用程序中的地址数据,我应该:

  1. 在启动时将所有地址加载到我的客户端,并在每次发送信件时将整个地址列表粘贴到请求中?该请求将包含更多数据并且更大,但我不需要获取服务器上的所有站点

  2. 仅将地址的 ID 加载到客户端并发送带有 ID 的请求,然后从服务器端的数据库加载它们?请求将包含较少的数据量,但我需要获取服务器上的所有地址

  3. 我应该只在客户端保存代表他自己的地址的地址对象和其他站的 ID 吗?与 2 相同,但我不需要获取发件人的地址

每个方法的pros/cons是什么?如果站点数量在 100 个左右(每个对象中没有那么多数据),你会选择什么

我不是专业人士所以如果我说的是wrong/silly措辞

请指正

提前致谢。

没有适用于所有情况的灵丹妙药,但我建议您采用以下方法:

  1. 将所有地址加载到客户端。很可能最终用户更喜欢 查看详细的地址信息而不是无意义的 ids
  2. 用户选择目的地后,您的应用仅向服务器发送 ID
  3. 服务器必须通过 id 从数据库中获取地址详细信息
  4. 寄信

客户端不应发送完整的地址对象,因为它可能(意外或有意)wrong.you 最好始终从数据库中获取真实有效的数据。 如果您需要减少数据库的负载,您最好使用服务器端缓存。示例:

  1. 创建从数据库获取地址的存储库
  2. 创建仅从数据库中获取数据一次然后保存在 MemoryCahce 结构中的存储库包装器
  3. 在您的应用程序中使用缓存包装器