我一直在爲這個任務奮鬥幾個小時。由於我以前從未使用JSON格式,因此我不知道如何從我接收到的端點API中提取參數。如何從Ruby on Rails中的JSON edpoint url中提取參數?
比方說,我有網址是這樣的:
/endpoint/name=anna&[email protected]
但請求格式爲:
/endpoint.json?name=:name&email=:email
我如何提取這些參數?我試着像這樣創建方法:
def get_params
response = request.body
@user = JSON.parse(response)
end
但我什至不知道如何正確地進行測試。
我應該爲POST創建路由嗎?
你的意思是我可以像這樣解壓縮: '@name = JSON.parse(params [:name])'?當我嘗試這個時,我得到了757:意外令牌錯誤。 – ZuzannaSt 2015-02-06 23:43:13
不需要解析JSON。在你的情況下,'params [:name]'將是一個名稱數組(在這個特殊的例子中,只是一個名字的數組:「anna」)。你可以說'@names = params [:name]'或'@name = params [:name] .first'。當然,請看http://guides.rubyonrails.org/action_controller_overview.html#hash-and-array-parameters – finishingmove 2015-02-06 23:48:36
哦!我用'/endpoint.json?name =:name&email =:email'這一行更新了我的答案,讓我感到困惑。我確實已經從params中獲得了vaues,並且@vpsz說我會,但我現在有一些路由錯誤。我正在使用URL格式測試所有內容:'/?name = anna'而不是'/ endpoint/name = anna'。沒有問號,沒有文件夾路徑。你碰巧知道我應該爲這個POST請求建立什麼路線? – ZuzannaSt 2015-02-07 16:10:45