ruby-on-rails – 如何为Rails POST方法构建postman请求

前端之家收集整理的这篇文章主要介绍了ruby-on-rails – 如何为Rails POST方法构建postman请求前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
无论我如何格式化此请求的原始部分,我都无法避免下面的解析错误.

我有一个带有传递规范的create方法的Rails API,以说明控制器消息是合理的:

describe "POST power_up" do

    let!(:client) { FactoryGirl.create :client,name: "joe",auth_token: "asdfasdfasdfasdfasdfasdf" }

    it "should create and save a new Power Up" do

      expect { post :create,format: :json,power_up: FactoryGirl.attributes_for(:power_up) }.to change(V1::PowerUp,:count).by(1)
    end

  end

我正在使用Postman尝试POST.无论我尝试什么,我都会收到错误

Started POST "/v1/power_ups.json" for 127.0.0.1 at 2014-08-30 18:05:29 -0400
Error occurred while parsing request parameters.
Contents:

{
  'name': 'foo','description': 'bar'
}


ActionDispatch::ParamsParser::ParseError (795: unexpected token at '{
  'name': 'foo','description': 'bar'
}

邮差请求设置:

我也尝试过:

{
  'power_up': {
    'name': 'foo','description': 'bar'
   }
}

power_ups_controller.rb中的create方法和强参数声明中的代码

def create
    @power_up = PowerUp.new(power_up_params)

  if @power_up.save!
    redirect_to @power_up
  end
end

private

  def power_up_params
    params.require(:power_up).permit(:name,:description)
  end

解决方法

对不起,回答这个问题太晚了,但可能会帮助别人.

您需要做的就是 – 在您的请求标题中(在邮递员或任何客户端)添加

Content-Type =’application / json’

或者,您也可以使用curl(source)进行尝试:

curl -X POST -H“Content-Type:application / json”-d'{“power_up”:{“名字”:“foo”,“description”:“bar”}}’127.0.01:3000 / v1 / power_ups.json

原文链接:https://www.f2er.com/ruby/271284.html

猜你在找的Ruby相关文章