2016-01-29 83 views
0

我建立我的Rails應用程序的API和下面的捲曲作品:斯威夫特參數傳遞到網絡API

curl -H "Content-Type: application/json; charset=UTF-8" \ 
-H "X-AccessToken: a602a4a8-1a77-4437-90bc-bb2023bbd2b5" \ 
http://localhost:3000/api/guesstimate \ 
-d '{"guesstimation": {"breed_id":"593","gender":"Male","age_years":"5"}}' 

現在我要盡我的iPhone應用程序中的等價物。我見到目前爲止如下:

let api_token = "a602a4a8-1a77-4437-90bc-bb2023bbd2b5" 
    let urlPath = "http://localhost:3000/api/guesstimate" 
    let url = NSURL(string: urlPath) 

    //set up the request 
    let request = NSMutableURLRequest(URL: url!) 
    request.HTTPMethod = "POST" 
    request.addValue("application/json", forHTTPHeaderField: "Accept") 
    request.addValue("application/json; charset=UTF-8", forHTTPHeaderField: "Content-Type") 
    request.addValue(api_token, forHTTPHeaderField: "X-AccessToken") 

當我火了這一點,我可以看到它擊中了API(在軌控制檯),所以我交流,但由於預期的參數不是它的失敗,當然當下。

我不知道如何將參數(breed_id等)編碼到請求中。我已經嘗試了一些方法,例如手動構建查詢字符串,但它看起來非常脆弱。似乎我應該能夠構建一個json,然後用一行代碼將它添加到請求中,但通常的Google搜索量沒有產生任何洞察力。

我還需要在curl中「guesstimate」中嵌套參數,因爲這是rails期望看到的。

任何幫助表示讚賞。

回答

0

設置機構您的要求request.HTTPBody喜歡的東西NSJSONSerialization.dataWithJSONObject(params)

+0

感謝Leito!正是我需要的。 – hawmack13