2013-08-19 47 views
1

我有一個Rails應用程序,我的移動應用程序試圖調用。我試着用下面的命令通過curl來測試API,它可以工作。現在通過捲曲調用rails api

curl -d "user[name]=bob&user[email][email protected]&user[password]=password&user[company_name]=hydra" linktomyapi 

,我試圖運行下面的命令,因爲當我通過手機應用程序發送的參數,我把他們作爲一個JSON格式,因爲我用AFNetworking我所有的網絡電話,請參閱下面這並不工作。

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

我很困惑,爲什麼這種差異是?有誰可以提出任何想法?

+0

有你指定的格式是json?什麼是您收到的錯誤信息? – yarakyo

+0

它說400 - 錯誤的要求。我之前在iOS應用中做過類似的所有視圖,並且工作得很好。 – Harish

回答

2

你必須傳遞一個application/json Content-Type,這樣rails才能理解你說的json。

添加到您的捲曲選項:-H 'Content-Type:application/json'

Additionnaly,如果你想與params[:user]訪問您的參數,可以你必須使用JSON對象「用戶」來保存所有的值:

{"user" : {"name": "bob", "email": "[email protected]", "password": "password", "company_name": "rs"}} 
+0

我仍然得到相同的錯誤。儘管謝謝你的迴應。 – Harish

+0

您可以粘貼導軌服務器日誌,以便我們可以瞭解發生了什麼? – Intrepidd

+0

看起來像是在工作。讓我做幾個更多的測試,我會結束這個問題。 – Harish