6
我想要一個簡單的Java(或Scala)休息客戶端庫,讓我可以輕鬆地在JSON REST API上執行GET/PUT/POST/DELETE等,並以類型安全的方式將JSON響應反序列化爲Java對象。是否有一個良好類型的Scala(或Java)庫來使用JSON Web API?
RestClient client = new RestClient("http://api.mycompany.com").withAuth(Auth.Basic, username, password);
// This basically deserializes the JSON response into a POJO
MyDocument[] result = client.get("/document?limit=10", MyDocument[].class);
MyFriend friend = client.post("/friend/Joe", body, MyFriend.class);
基本上我想要的一般簽名是這樣的get()
例如, public <T> T get(String path, Class<T> responseClass)
它會做一個GET請求和反序列化JSON響應到類型的POJO responseClass
我沒有找到一個圖書館,這是非常接近我想要叫sitebricks但它在其範圍嚴格限制例如它不允許我執行更多不常見的HTTP動詞,如PUT/PATCH/DELETE,它無法設置標題甚至請求的正文。
Another library我發現有相反的問題 - 它沒有辦法做basicauth,它不會將JSONs序列化回對象中。
如果可能,請避免在標題中使用「good」和「best」。此外,斯卡拉是目標,而不是回落.. – 2012-09-19 04:10:24
所以你的目標是使http請求?你看過調度還是重新啓動? https://github.com/dispatch/dispatch。如果您的目標是處理和響應http請求,那麼未過濾可能值得一看。 https://github.com/unfiltered/unfiltered – jwinder
調度或重新啓動(這是在異步http客戶端寫入的新版本的調度)將很好地處理http動詞。任何聲稱處理http請求而不處理不同http動詞的庫都不應被視爲處理http請求的庫。我認爲這裏的邏輯是http動詞是http請求的基礎,因此任何庫都應該支持它們。 – jwinder