【发布时间】:2014-10-06 16:04:21
【问题描述】:
我有一个闪亮的应用程序,它采用 Json 中的输入文件通过分类器运行它并返回分类的 Json 对象。 我希望应用程序能够与 API 通信。我希望 API 将文件发布到 Shiny 应用程序,该应用程序将完成其工作并返回分类对象。 基本上,我希望 Shiny 应用程序位于后台,直到发布文件,然后执行其工作。 我知道我可以使用 httr 包中的 GET 从 url 获取文件。如果我知道 get 命令的文件名,我可以把它放在 shiny.server 文件中
但是来自 API 的文件名会有所不同。那么有什么方法可以让我根据来自 API 的 Post 请求进行动态处理。
【问题讨论】:
-
澄清一下,您是否尝试使用 Shiny 实现 RESTful API:客户端(例如,您的浏览器)将 JSON 格式的输入文件发送给 Shiny,并让 Shiny 将分类对象返回给客户?
-
嗨,这正是我想要做的
-
至少有两种方法可以做到这一点。如果您希望通过 AJAX 请求来实现它,您可以查看this example here。或者,您可以使用自定义 input binding 和 output binding。
-
我给你的AJAX例子不是很简单。例如,它没有演示如何在 javascript 中构造 AJAX 请求。相反,它直接将 AJAX URL 绑定到 selectize.js 控件。在 Shiny 中使用 AJAX 请求的更明确的示例可以在 this answer 中找到,尽管还有一些微小的改进空间。
-
只是在这里链接到一个相关的问题:Accept HTTP Request in R shiny application。
标签: r rest shiny shiny-server