我希望分离出复杂的 API 结构,以便拥有以下结构。我想知道。有没有办法将 users/文件夹下的所有文件挂载到同一个 ./api/v1/users 路由?项目也一样/?一个关键的考虑点是,我也会在这些文件中定义动态路由(例如 ./projects/
在 shiny 中,要完成像这样的事情,Id 使用 source('file.R', local=TRUE) 但 Plumber 的工作方式不同。 我以这种方式构建它的原因是为了降低开发过程中的复杂性(而不是向同一端点添加多个动词)。
+-- v1/
|+-- users/
|+----- GET.R
|+----- POST.R
|+-- projects/
|+----- GET.R
|+----- POST.R
我测试了挂载,但遗憾的是无法将每个文件夹中的多个文件挂载到相同的路由名称。查看示例代码
v2 <- plumber::Plumber$new("api/v1/projects/GET.R")
root$mount(paste0(ROOT_URI,"/v1"), v2)
v1 <- plumber::Plumber$new("api/v1/projects/POST.R")
root$mount(paste0(ROOT_URI,"/v1"), v1)
(在 GET.R 和 POST.R 文件中各有一个名为“projects”的函数,用于处理两个动词之一)
最佳答案
答案有点像。使用“此处”包允许您导入在与您的水管工文件相关的文件中定义的函数。然后在你的管道工文件中,你可以填写你的装饰器并将你的函数放在它后面。
关于r - 是否可以在 R Plumber 中将每个端点分离到其自己的文件中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66594148/