3

我正在处理一个大型 API,我想将其定义分发到多个文件中。据我了解,阅读文档中的“mount()”方法从铅锤开始发挥作用

我尝试了以下方法:

虹膜.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)

Curling 什么都不返回,swagger json 是空的

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

谢谢,

4

1 回答 1

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)

问候!

于 2019-08-08T11:34:35.080 回答