簡體   English   中英

R 管道工 API - 以編程方式為請求指定 JSON 架構

[英]R Plumber API - programmatically specify JSON schema for request

我正在嘗試在 R 中構建一個管道工 API。從文檔中的這個示例開始......

pr() %>%
  pr_post("/echo", function(req, res) {
    if (is.null(req$body)) return("No input")
    list(
      input = req$body
    )
  }) %>%
  pr_run(port = 8080)

API 啟動正常。 但是,我希望我的處理程序 function 在請求正文中使用 JSON 作為輸入。

是否可以以編程方式定義 JSON 模式,以便將其填充為 API 的 swagger 文檔中的示例?

謝謝。

看起來這篇文章Plumber: getting request body/schema in UI有解決方案。

這是(除非有人能告訴我這是不好的做法)我一直在尋找的例子......

v <- data.frame(a = c(2, 3), 
                b = c(3, 4))

pr() %>%
  pr_post("/add_up", function(input = v) {
    input <- input[[1]]
    return(list(rowSums(input)))
  }) %>%
  pr_run(port = 8080) 

這給出了 swagger 文檔中的以下示例 JSON...

{
  "input": [
    [
      {
        "a": 2,
        "b": 3
      },
      {
        "a": 3,
        "b": 4
      }
    ]
  ]
}

...並返回以下響應...

[
  [
    5,
    7
  ]
]

誰能提供任何改進? 如果可能的話,最好從 JSON 模式中刪除“輸入”。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM