2013-05-30 75 views
0

我是新手,現在我想訪問外部http api,發佈一些數據並獲取JSON數據。如何發佈到http api並獲取JSON數據?

的信息是:

url: http://mytest.com/login 
method: post 
accept: application/json 
params: { 
      "username":"username", 
      "password":"password" 
     } 

response: { 
       "result":"ok/failed", 
       "message":"welcome/failure reason" 
      } 

因爲這是一個電梯項目,你知道電梯已經提供了許多有用的庫。我想知道lift是否提供了一些功能來做到這一點?

如果沒有,是否有任何其他好的scala庫可以使用?或者我必須使用apache的java http-client庫嗎?

回答

2

據我所知,Lift沒有任何內置的功能來處理對外部服務的請求。

我建議看看Dispatch。它有很多很棒的庫,用於抽象HTTP交互,完全基於Scala。

+0

+1用於派送。確保使用電梯內部的JSON解析器。這個真的很酷。 – gzm0

+0

我發現dispatch的DSL真的很難理解,而且文檔很差。爲什麼你推薦它,或者我錯過了什麼? – Freewind

+0

我同意文檔可能會更好,但Lift也是如此。我經常使用它,新版本的期貨支持非常酷,錯誤處理更容易,我個人喜歡DSL。對於像XML解析這樣的東西本身就有支持,這使得轉換響應變得非常簡單。正如@ gzm0所提到的,以前的版本直接支持解除JSON解析(http://dispatch-classic.databinder.net/Lift+JSON.html),儘管我不確定它是否會使它成爲最新版本。如果您想要完成某件特定的事情,我相信我們可以幫助您。 – jcern