【问题标题】:Using Document Discovery service on a non-app engine service在非应用引擎服务上使用 Document Discovery 服务
【发布时间】:2015-06-09 08:41:17
【问题描述】:

我一直在玩 Dart 中的 RPC 包,它可以很容易地将文档发现服务添加到 Dart 服务器。

经过一番谷歌搜索后,我发现了 API 发现服务 https://developers.google.com/discovery/,它解释了如何为给定的发现文档创建客户端代码。

然后我找到了 Google Cloud Endpoint,它看起来像 Document Discovery 服务的服务器端。这是真的吗。

我真正的问题是,我想在基于(比如)Spring 并运行(比如)嵌入式 Jetty 服务器的标准网站上使用 Document Discovery 服务?这是可能的,还是我的应用程序会与 App Engine 技术交织在一起?

【问题讨论】:

    标签: dart google-cloud-endpoints dart-rpc


    【解决方案1】:

    您的应用程序只需要提供文档发现服务。 从https://pub.dartlang.org/packages/discovery_api_client_generator 的源中获取预期的信息应该不难,https://pub.dartlang.org/packages/discovery_api_client_generator 是从发现文档生成 Dart 客户端代码的 Dart 客户端。据我所知,您的服务甚至不需要提供发现文件。 discovery_api_client_generator 包还可以使用本地存储的发现文档,但如果您想让所有人都可以使用该服务,那么该服务当然是首选方式。

    我认为它等同于 SOAP,它还允许从以 XML 形式提供的元信息创建客户端代码。

    此外,shelf_rpc 包不需要在 AppEngine 或托管 VM 上运行。您可以在本地或您想要的任何服务器上运行它。

    【讨论】:

    • 你好,甘特。在这种情况下,这个问题不是关于 Dart,而是关于 Java - 我可以将 Document Discovery 服务添加到我现有的 java Web 服务应用程序吗?
    • 发现文档描述了 API。我还没有检查,但我认为它是 JSON。您需要以“某种”方式为您的 API 提供这样的文档,并且您需要一个从该文档生成代码的生成器。这样的客户端适用于包括 Java 在内的各种语言。 shelf_rpc 包根据您在 API 中使用的类以及您添加到类、方法和字段的注释生成发现文档。您只需要为 Java 找到或构建这样的工具(我假设已经存在但尚未检查)。
    • 您也可以以类似的方式使用协议缓冲区。您在文本文档中描述 API 并从文档中为客户端和服务器生成类,但 ProtoBuf 是二进制格式而不是 JSON。
    猜你喜欢
    • 1970-01-01
    • 2011-10-23
    • 2011-03-14
    • 2011-09-26
    • 2013-02-07
    • 2012-03-22
    • 1970-01-01
    • 1970-01-01
    • 2018-01-09
    相关资源
    最近更新 更多