在 R 管道工中指定参数

specify param in R plumber

我使用 plumber 在 R 中创建了一个 REST API。

#* description
#* @param id Unique ID  
#* @get /data/<id:int>

其中 id 必须是数字。但是,管道工还设置了 required = true。如何在不设置为 true 的情况下将 id 类型设置为数字(整数)?在手册中找不到任何提示。

查看此端点函数的通用定义会很有帮助。不想 id 被要求表示希望允许函数在没有参数的情况下工作。为此,您可以定义仅包含动态路径根部分的第二个端点:

library(plumber)

#* Simple ID endpoint
#* @param id Unique ID
#* @get /data/<id:int>
function(id) {
  list(
    id = id,
    type = typeof(id)
  )
}

#* Data endpoint
#* @get /data
function() {
  list("Data endpoint")
}

鉴于此,对 /data/<id> 的请求将 return 基于 id 的信息,而对 /data 的请求可以 return 完全不同。

尝试:

#* description
#* @param id:int Unique ID  
#* @get /data
function(id=NULL) {}

来源:

https://www.shirin-glander.de/2018/01/plumber/