You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何向R Plumber API发送RDS文件?Swagger调试失败求助

问题解决:Plumber API接收RDS文件失败

你的核心问题是代码里误把文件路径当成了解析后的data.frame来操作,加上多余的解析器配置导致Swagger测试出错。

修正后的代码

library(plumber)
library(dplyr)
library(magrittr)
library(data.table)

#* 接收RDS文件并返回数据框第一列
#* @parser multi
#* @param df:file 上传的RDS格式文件
#* @post /dataframe
function(req, res, df) {
  # 从临时文件路径读取RDS数据
  df_data <- readRDS(df)
  str(df_data)
  # 返回数据框的第一列
  return(df_data[, 1])
}

关键修正点

  1. 移除多余的@parser rds:@param df:file已经会让Plumber将上传文件保存为临时文件,df是该文件的路径字符串,不需要额外的RDS解析器(该解析器适用于直接将请求体解析为RDS对象的场景,而非表单上传文件)。
  2. 手动读取RDS文件:通过readRDS(df)将临时文件路径转换为实际的data.frame,之后再进行数据操作(比如取第一列)。

Swagger测试步骤

在Swagger UI中点击「Try it out」,选择本地的RDS文件后执行请求,即可正常接收并处理数据。

内容的提问来源于stack exchange,提问作者nimliug

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.09 22:33:20