Я хочу отправить файл csv в базу данных, поскольку кто-то публикует файл, используя свой код VBA
(VBA
имеет 80 символов ограничение для своих вызовов API, поэтому ему необходимо загрузить CSV к серверу для меня, чтобы разобрать и проверить)
Для этого я использую запрос plumber
и POST
. Мои знания немного ограничены в том, как структурировать API для этого. Ниже приведен пример того, как это происходит. Это вообще возможно сделать с plumber
?
# api_main.R
library(plumber)
#* @awesomeAPI Simple API to upload csv
#* Return status on received csv
#* @param req
#* @post /upload
function(req) {
df <- read.csv(req$body)
if(all(c("A", "B", "C", "D") %in% names(df))){
return(data.frame(msg = "Not all columns available", status = 418))
} else {
# upload data to DB here
return(data.frame(msg = "OK", status = 200))
}
}
Запустить сервис:
plumber::plumb("api_main.R")$run(port = 5762)