如何使用安装在多个文件中分配管道工API?

时间:2019-02-27 04:39:11

标签: r plumber

我正在处理一个大型API,我想在多个文件中分发其定义。 据我了解,请阅读documentation,这将使铅锤的“ mounnt()”方法发挥作用

我尝试了以下方法:

iris.R:

#* Return a bit of iris
#* @get /iris
function(){
        head(iris)
}

在运行的新R会话中:

irisAPI <- plumber::plumb("iris.R")
server <- plumber::plumber$new()
server$mount("/server", irisAPI)
server$run(host="0.0.0.0", port=8080, swagger= T)

卷曲不返回任何内容,摇晃的json为空 取消然后在irisAPI垂直轴上运行完全相同的操作,然后它可以工作。

这是错误还是我错过了什么?

谢谢

1 个答案:

答案 0 :(得分:1)

我有同样的问题。

问题出在水管工版本中。在CRAN信息库中存在0.4.6,您需要使用R上的devtools库从github下载0.5.0(在文档上说是下载的版本为0.4.7.9000)。

https://github.com/trestletech/plumber/blob/master/NEWS.md https://cran.r-project.org/web/packages/plumber/index.html

以下代码为我成功运行:

root <- plumber$new()

a <- plumber$new("controllers/a.R")
root$mount("/a", a)

b <- plumber$new("controllers/b.R")
root$mount("/b", b)

root$run(port = 8080, swagger=TRUE, debug= TRUE)

致谢!