Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/video/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 通过curl调用rails api_Ruby On Rails_Ruby_Curl_Afnetworking - Fatal编程技术网

Ruby on rails 通过curl调用rails api

Ruby on rails 通过curl调用rails api,ruby-on-rails,ruby,curl,afnetworking,Ruby On Rails,Ruby,Curl,Afnetworking,我的移动应用程序正在尝试调用Rails应用程序。我试着用下面的命令通过curl测试API,结果它成功了 curl -d "user[name]=bob&user[email]=bob0814@example.com&user[password]=password&user[company_name]=hydra" linktomyapi 现在,我尝试运行以下命令,因为当我通过移动应用程序发送参数时,我会将它们作为JSON格式发送,因为我对所有网络呼叫使用AFNetwor

我的移动应用程序正在尝试调用Rails应用程序。我试着用下面的命令通过curl测试API,结果它成功了

curl -d "user[name]=bob&user[email]=bob0814@example.com&user[password]=password&user[company_name]=hydra" linktomyapi
现在,我尝试运行以下命令,因为当我通过移动应用程序发送参数时,我会将它们作为JSON格式发送,因为我对所有网络呼叫使用AFNetworking,请参见下文,但这不起作用

curl -v -d '{"user[name]": "bob","user[email]": "bob@gmail.com","user[password]": "password","user[company_name]": "rs"}' linktoMyApi

我很困惑为什么会有这种差异?有人能提出一些建议吗?

您必须传递一个application/json内容类型,这样rails才能理解您在说json

添加到您的curl选项:
-H'内容类型:application/json'

此外,如果要使用
params[:user]
访问参数,则必须使用json对象“user”来保存所有值:

{"user" : {"name": "bob", "email": "bob@gmail.com", "password": "password", "company_name": "rs"}}

您是否已指定格式为json?你收到的错误消息是什么?上面写着400-请求错误。我以前在iOS应用程序中为另一个视图做过类似的操作,效果很好。我仍然会遇到同样的错误。谢谢你的回复。你能粘贴rails服务器日志吗?这样我们就可以了解发生了什么事。看起来它正在工作。让我再做几个测试,我将结束这个问题。