【问题标题】: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