Rails-API 如何测试 Active Storage

Rails-API How to test Active Storage

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

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

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

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

如果您想在同一个请求中上传图片和 post 数据,您需要将 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