web-services - 使用 PouchDB 作为常规 RESTful Web 服务的离线客户端临时存储

标签 web-services rest couchbase offline pouchdb

我有一个服务器端 Web 应用程序,顶部有一个 RESTful Web API,还有一个与之对话的客户端 Web 应用程序。如果服务器(或互联网)不可用,我想在 webapp 中实现离线存储和功能。在客户端实现 PouchDB 是否可行,并让它与我的 restful web 服务而不是 CouchDB 数据库同步? Web 服务需要遵守哪些标准才能与 couchdb/pouchdb 兼容?如果有更好的方法(如果可以的话,我不想将后端从 postgresql/python 切换到 couchdb),是否有人对此有任何示例或建议如何以不同的方式进行操作?

最佳答案

Is it feasible to implement PouchDB on the client side, and have it sync with my restful webservice instead of a CouchDB database?



可能不是。但这取决于您对“可行”的定义。

What standards does the webservice need to adhere to to be compatible with couchdb/pouchdb?



它需要实现CouchDB Replication protocol .

Does anyone have any examples about this or suggestions on how to do it differently if there is a better way?



您有两个选择,它们实际上归结为同一件事:
  • 您可以实现现有的复制协议(protocol)。
  • 您可以编写自己的复制协议(protocol)。

  • 底线是:您需要一个客户端和服务器都可以使用的复制协议(protocol)。这不是一件容易的事。复制很难。

    PouchDB + CouchDB 为您解决了这个难题,但它是有代价的——它只复制 JSON 数据。当然,您可以将其他数据硬塞到 JSON 文档中,但随后您又要编写一个新协议(protocol)。

    正如您在评论中建议的那样,您可以将 PouchDB 仅用于本地存储,并进行自己的复制。当然,那很好。虽然如果你不使用 PouchDB 的复制,它可能不是最适合你的本地存储解决方案(但它仍然是一个很好的解决方案)。

    关于web-services - 使用 PouchDB 作为常规 RESTful Web 服务的离线客户端临时存储,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43883528/

    相关文章:

    python - 访问网络服务

    web-services - 空 SOAP 响应 - 使用 JBoss 4.2、Jaxb2、Java 1.6

    c# - 在 C# 中使用正文休息 GET 请求

    angularjs - Angular $http.delete 返回错误 422(无法处理的实体)

    blob - 在 Couchbase 中存储大对象 - 最佳实践?

    visual-studio - Docker AspNet Core + Couchbase

    web-services - 如何在两个 Apache Tomcat 服务器之间启用 SSL 通信

    java - 从多个 WSDL 文件生成 Java 文件

    ruby-on-rails - 在无前端应用程序中使用 Cucumber 测试 RESTful API

    couchbase - 如何在 couchbase 中为此 sql 语句编写 View