1

我有一个我的移动应用程序试图调用的 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

我很困惑为什么会有这种差异?有人可以提出任何想法吗?

4

1 回答 1

2

您必须传递一个 application/json Content-Type 以便 rails 可以理解您说的是 json。

添加到您的卷曲选项:-H 'Content-Type:application/json'

另外,如果你想用 访问你的参数params[:user],你必须使用一个 json 对象“用户”来保存所有的值:

{"user" : {"name": "bob", "email": "bob@gmail.com", "password": "password", "company_name": "rs"}}
于 2013-08-19T11:43:53.987 回答