2011-04-14 104 views
103

我试图用os x终端的curl命令在我的rails应用程序上创建用户。无论我如何格式化数据,该应用程序都会返回非验证通过的响应。通过终端将curl json post请求发送到rails应用程序

curl http://localhost:3000/api/1/users.json -i -X POST -d {"user":{"first_name":"firstname","last_name":"lastname","email":"[email protected]","password":"app123","password_confirmation":"app123"}}" 

我试过每一个变化。我试过使用[]括号,我试过用户= {数据..},似乎没有任何工作。有任何想法吗?

+0

为什么不直接使用'$轨C'和'User.create:FIRST_NAME =>' John',:last_name =>'Smith',...''? – coreyward 2011-04-14 04:27:12

+22

@coryward:这会打败API的全部目的。 – Wukerplank 2011-04-14 04:29:47

+0

真的让我难倒 – 2011-04-14 04:51:49

回答

216

首先,有一个多余的“在你的命令结束

试试这个

curl -v -H "Accept: application/json" -H "Content-type: application/json" -X POST -d ' {"user":{"first_name":"firstname","last_name":"lastname","email":"[email protected]","password":"app123","password_confirmation":"app123"}}' http://localhost:3000/api/1/users 
+0

th是的。我昨晚想到它需要-H Accept和Content-type。 – 2011-04-14 13:38:41

+0

嗨我凸轮调用这样的脚本:http://www.abc.com/?a=4&b={"x":"y“}。你能告诉我在卷发终端会是什么样子? – user739711 2012-03-21 11:59:21

+0

嗯,在我的情况下,我需要用引号括起目标URL – 2012-12-19 03:33:05