【问题标题】:Rails-API How to test Active StorageRails-API 如何测试活动存储
【发布时间】:2021-08-18 17:27:51
【问题描述】:

我将 Active Storage 添加到我的 Rails API 应用程序中并想对其进行测试,但我不知道该怎么做。我试图在 Postman 中发送带有 JSON 数据的文件,但是 JSON 数据没有正确发送或者我做错了什么。我是这样做的: Image from postman

是否有任何选项可以在不创建任何视图的情况下发送带有文件和 JSON 数据的请求?

【问题讨论】:

    标签: ruby-on-rails ruby postman rails-activestorage


    【解决方案1】:

    据我所知,上传无法通过 API 休息方式完成。您需要使用 enctype: multipart/form-data 作为常规 POST 通过表单完成。

    在您的屏幕截图中,您已经以表单帖子的形式发送,因为您选择通过form-data 发送。这就是为什么你的 json 没有被 rails 正确解析的原因。

    如果您想在同一个请求中上传图片和发布数据,您需要将 json 属性分解为表单数据字段,例如:

    data[name]=asaa
    data[last_name]=foo
    ...
    

    或者,您可以在 data 字段中发送 JSON 并在控制器中获取时进行手动解析,例如:

    
    def upload
      file = params[:file]
      data = parsed_params_data!(params)
    
      # do your magic
    end
    
    def parsed_params_data!(params)
      JSON.parse(params[:data])
    end
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-06-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多