У меня есть простая функция в моем API сантехника, которая выглядит следующим образом:
library(methods)
library(plumber)
# Other functions...
#' @param elist The list of events to process as a string
#' @get /process
process_events <- function(elist=""){
setClass("EventPattern", representation(sequence="character", probability="numeric", endProbs="data.frame"))
q <- new("EventPattern", sequence=elist, probability=1, endProbs=data.frame(None=0))
# Further code that should make use of q
}
Я запускаю Plumber (локально) и указываю на скрипт, содержащий api (выше), как:
r <- plumb('/path/to/script/forecast.R')
r$run(port=8000, swagger = TRUE)
И вызвать функцию по адресу (используя PostMan):
http://localhost:8000/process?elist="abcd"
Но я получаю «Исключение» с консолью R, которая говорит:
<simpleError: No method for S4 class:EventPattern>
Я понимаю, что ошибка предполагает, что требуется метод (универсальный), но когда я набираю:
q <- new("EventPattern", sequence=elist, probability=1, endProbs=data.frame(None=0))
локально на моей машине (в консоли R) работает нормально. Он подсказывает мне, что что-то не полностью загружено или недоступно для Сантехника, но я понятия не имею, как это исправить. Есть идеи?