Как распределить 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)
С уважением!