通过POST请求使用管道工接收CSV

时间:2019-03-26 09:14:22

标签: r plumber

我正在寻找将csv文件发送到数据库的方法,因为有人使用VBA代码(VBA的api调用有80个字符limit来发布该文件,因此他们需要将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)

0 个答案:

没有答案