微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何让 Postman 或 Postman Collection Runner 发送带有 CSV 文件、rails 强参数的 POST 请求

如何解决如何让 Postman 或 Postman Collection Runner 发送带有 CSV 文件、rails 强参数的 POST 请求

在 Rails 6 api 中,我想使用 Postman 测试具有强参数的控制器。

在控制器中:

class ProcessorController < ApplicationController
...
def create
    file = processor_params[:file]
...
end

private

def processor_params
    params.require(:upload).permit(:file)
  end
end

我必须上传此请求所需的简单 .csv 文件
CSV 中的第一行是列标题名称(逗号分隔)。大约30行csv数据
CSV 标题为:日期、工作时间、员工 ID、工作组

这是我想在邮递员中重现的一个示例夹具:

post '/processor',params: {
     upload: {
         file: fixture_file_upload('report.csv','text/csv')
     }
}

如何正确发布参数和正文,以便 rails API 返回 HTTP 200 响应?

我尝试通过几种方式设置邮递员请求,包括 (1) 通过 form-data 主体,
(2)

enter image description here


(3) 这个 raw json:

{
    "upload": {
        "file": {
            "date": "{{date}}","hours worked": {{hours worked}},"employee id": {{employee id}},"job group": {{job group}}
        }
    }
}

它不起作用。我总是收到诸如

之类的错误
 "status": 500,"error": "Internal Server Error",#<NoMethodError: undefined method `permit' for \"file\":String>",
{
    "status": 400,"error": "Bad Request","exception": "#<ActionController::ParameterMissing: param is missing or the value is empty: upload>"

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。