build立R服务器REST API所需的build议,我可以从外部应用程序调用?

我已经看到很多关于从其他RESTful API服务中使用R中的数据的文章,但是我真的很努力地find任何有关反向的文章。 我对R是服务器感兴趣,而不是客户端。 我想要一个Node.js应用程序来调用一个R服务器的RESTful API,这样我就可以利用特定的分析function,如多季节预测。 有人有主意吗?

你可以使用httpuv来启动一个基本的服务器,然后处理GET / POST请求。 以下不是“REST”本身,但它应该提供基本框架:

 library(httpuv) library(RCurl) library(httr) app <- list(call=function(req) { query <- req$QUERY_STRING qs <- httr:::parse_query(gsub("^\\?", "", query)) status <- 200L headers <- list('Content-Type' = 'text/html') if (!is.character(query) || identical(query, "")) { body <- "\r\n<html><body></body></html>" } else { body <- sprintf("\r\n<html><body>a=%s</body></html>", qs$a) } ret <- list(status=status, headers=headers, body=body) return(ret) }) message("Starting server...") server <- startServer("127.0.0.1", 8000, app=app) on.exit(stopServer(server)) while(TRUE) { service() Sys.sleep(0.001) } stopServer(server) 

我有httrRCurl包在那里,因为你可能最终需要使用一些二进制parsing/格式/等请求和响应。

node-rio提供了一种与node.js中的rserve(允许使用R函数的TCP / IP服务器)交谈的方法。

以下是使用示例(来自文档):

 var rio = require('rio'); rio.evaluate("as.character('Hello World')");