2013-10-22 21 views
3

我用Play 1.2創建了一對大型後端API。現在我已經爲自己創造了一些空閒時間,我有興趣試圖在Play 2上做同樣的事情。但是,似乎所有tutorialssample projects只給出用於處理表單數據的用例。Play 2作爲後端專用API

當我說只有後端的API時,我指的是某些不會呈現人類可讀的視圖。更具體地說,例如,到移動應用程序的後端服務。其大部分響應將被格式化爲JSON數據。

我知道該文檔顯示如何解析JSON請求,但它似乎仍然是一個例外。我意識到我可能完全錯誤了,但我覺得奇怪的是,Play的所有例子似乎都使用表單數據與控制器進行交互,而不是外部調用。

Play 2仍然是這個用例的正確選擇嗎?如果是這樣,那麼有沒有好的示例項目或教程?

回答

5

Play for Scala有一整章(第8章)致力於該主題(在構建單頁Web應用程序的上下文中)。一項技術是否適合特定需求是一個判斷問題,但毫無疑問,Play支持REST API用例。

Play具有用於閱讀,驗證和編寫JSON(具有各種自定義格式功能)的複雜機制。您還具有異步響應編程的典型Play優勢,可以擴展到大量客戶端

唯一真正棘手的問題是如何處理身份驗證(如果有問題)。

+1

對於身份驗證,我建議將HMAC稱爲ie。來自微軟的Azure或亞馬遜的AWS – biesior

0

Play for Java第6章給出了JSON用法的說明。

JSON的使用應該非常簡單和可插拔。傑克遜或GSON,您的選擇,身體分析器,你會得到JSON演示,並可以直接返回JSON流。邏輯取決於你。

@BodyParser.Of(BodyParser.Json.class) 
    public static Result index() { 
    RequestBody body = request().body(); 
return ok("We expected to get json: " + body.asJson()); 
} 

使用身體解析器是容易的,所以也是Java的在這裏工作很好,但斯卡拉似乎也很整潔的功能,給你一些JSON超級大國,如果你是到它。

作爲旁註:我個人試圖找到在後端API的HTTP + XML + Smooks轉換+ JPA中使用的方法,結果如註釋here