我正在努力使用Postman Chrome扩展程序创建POST多部分/混合请求.我一直在获得HTTP 500.
已经经历过这个问题,但遗憾的是解决方案对我不起作用.
这是我的卷曲请求,对我有用.
curl -H"Content-Type:multipart/form-data"-F"merchantLogo =@offerlogo-320-320.png; type = image/png"-F"merchantDetails =@merchant.json; type = application/json" -X PATCH localhost:5000/api/merchants/57035bda0c74362faf5937f2/details -i -v
我得到了这样的回应
{"code": 500,
"message": "There was an error processing your request. It has been logged (ID 034bec7815baca2e)."}
Run Code Online (Sandbox Code Playgroud)
不知何故,当从POSTMAN调用时,merchantDetails总是被传递为null,并且在从curl进行调用时正确传递.
任何帮助将非常感激.
编辑1:
我将POSTMAN的请求复制为curl,
卷曲' 的http://本地主机:5000/API /商家/ 5714d8e060b2a79e62227d1a /详细信息 ' -X PATCH -H '杂注:无缓存' -H '来源:铬扩展:// fdmmgilgnpjigdojojpjoooidkmcomcm' -H"的Accept-Encoding: gzip,deflate,sdch'-H'Accept-Language:en-GB,en-US; q = 0.8,en; q = 0.6'-H'User-Agent:Mozilla/5.0(X11; Linux x86_64)AppleWebKit/537.36 (KHTML,与Gecko一样)Chrome/49.0.2623.87 Safari/537.36'-H'内容类型:multipart/form-data; boundary = ---- WebKitFormBoundaryxRZ6VKzFV40ZFIsd'-H'接受:/ ' - H'缓存控制:无缓存'-H'Cookie:JSESSIONID …
我正在尝试从某个客户端发送一个POST请求到一个rails服务器,我遇到了一些问题.完整的要求是发送一个图像由paperclip处理,但它看起来像是一个普通的postman多部分POST与Rails问题.
class CategoriesController < ApplicationController
def create
@category = Category.new(category_params)
respond_to do |format|
if @category.save
format.html { redirect_to @category, notice: 'Category was successfully created.' }
format.json { render :show, status: :created, location: @category }
else
format.html { render :new }
format.json { render json: @category.errors, status: :unprocessable_entity }
end
end
end
private
def category_params
params.require(:category).permit(:label, :description)
end
Run Code Online (Sandbox Code Playgroud)
我假设问题是请求参数没有封装在"类别"中.如果我不够清楚,如果我能提供更多信息,请告诉我.
提前致谢.
编辑:正如fylooi所建议我改变了Postman中的Request Body,添加了一个封装的"实体",如下所示:

我仍然得到相同的结果
Processing by CategoriesController#create as JSON
Parameters: {"------WebKitFormBoundaryFdJXZFMuAl0fZf3Q\r\nContent-Disposition: form-data; name"=>"\"category[label]\"\r\n\r\nTraffic\r\n------WebKitFormBoundaryFdJXZFMuAl0fZf3Q\r\nContent-Disposition: form-data; name=\"category[description]\"\r\n\r\nTraffic category\r\n------WebKitFormBoundaryFdJXZFMuAl0fZf3Q--\r\n"}
Completed 400 Bad Request …Run Code Online (Sandbox Code Playgroud)