2012-09-13 48 views
0


我按照本指南 - https://github.com/excilys/androidannotations/wiki/Rest%20API,我試圖跳過JSON < - > POJO轉換和純JSONObject(或GSON的JsonObject)工作。我應該寫什麼作爲服務器的答案?Rest客戶端 - 如何獲取JSONObject作爲響應?

@Rest("url") 
public interface JsonRest 
{ 
    @Get("/getjson") 
    JSONObject getTime(); 
     // or... ? 
    @Get("/getjson") 
    ResponseEntity<JSONObject> getTime(); 
     // or... ? 
    @Get("/getjson") 
    JsonObject getTime(); 
} 

在任何情況下我得到"{}"作爲響應,但它包含了POJO轉換後的正確的數據。我應該提供哪些HTTPMessageConverter

感謝您的任何幫助。

回答

2

只需添加GsonHttpMessageConverter到RestTemplate和嘗試:

@Get("/getjson") 
JsonElement getSomething(); 
1

我不認爲這是默認支持的Spring Android RestTemplate。你應該提供你自己的提供者。

你可以看看GsonHttpMessageConverter是如何實現的here,然後在此基礎上實現你自己的解決方案。

+0

實際上,它工作時,我設置響應... JsonElement。我完全不明白。順便說一句。爲@Rest界面提供自定義標題的最佳方式是什麼?我是否需要重寫任何方法? – Piotr

+0

另一個問題 - 當我想將有效載荷作爲JSON對象發送時,我可以將其作爲參數... JsonObject。所以響應必須是JsonElement,但參數可能是JsonObject ...? – Piotr

+0

Pierre-Yves Ricau,你提供的鏈接不存在 –