Как распределить API сантехника по нескольким файлам с помощью монтирования?

Я имею дело с большим API, и я хотел бы распределить его определение по нескольким файлам. Насколько я понял, читая документацию это где метод "mounnt()" от plumb вступает в игру

Я пробовал следующее:

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)

Керлинг ничего не возвращает, swagger json пуст, отменяет и затем выполняет ту же самую вещь на канале irisAPI, и затем это работает.

Это ошибка или я что-то упустил?

Спасибо,

0 ответов

У меня такая же проблема.

Проблема была в версии для сантехника. В репозиториях CRAN существует 0.4.6, вам нужно загрузить версию 0.5.0 (в документах написано, но загруженная версия - 0.4.7.9000) с github с использованием библиотеки devtools на R.

https://github.com/trestletech/plumber/blob/master/NEWS.mdhttps://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)

С уважением!

Другие вопросы по тегам