2013-02-20 78 views
2

我還是Ruby的新手,嘗試使用HTTParty gem來幫助我編寫API包裝器。我提供HTTParty ::獲取一個URI,它解析JSON數據。從快速瀏覽和返回結果的行爲方式來看,它看起來像一個哈希,但是它是什麼?我似乎無法在網上找到信息。 StackOverflow上的另一篇文章顯示使用HTTParty :: get(...)。parsed_response來獲取哈希,但這看起來已經過時了。HTTParty :: get返回什麼?

回答

5

在控制檯操作:

>require 'httparty' 
=> true 
> response = HTTParty.get("...") 
.... 
> response.class 
=> HTTParty::Response 

所以從HTTParty.get響應是HTTParty::Response對象。

請參閱this blogpost titled "It's Time To HTTParty!"以瞭解有關如何處理此響應的更多信息。

+1

這略帶偏離主題。在編寫一個API封裝器時,最好是返回這個Response對象還是將其轉換爲Hash?或者用鍵創建一個類的實例作爲字段/屬性? – DillPixel 2013-02-20 16:30:54

+0

取決於我猜測的具體要求。我在API封裝上工作不多,可能最好問一個單獨的問題。 – 2013-02-20 16:32:26

+2

@DillPixel通過返回諸如「HTTParty :: Response」之類的非標準對象,API和它的用戶比使用簡單的數據類型(如散列)更容易被改變。看到[這個SO回答](http://stackoverflow.com/a/1568230/335847)有很多很好的理由。這是一樣的原則。 – iain 2013-02-20 16:58:30