我想要一个简单的Java(或Scala)休息客户端库,让我可以轻松地在JSON REST API上执行GET / PUT / POST / DELETE等,并以类型安全的方式将JSON响应反序列化为Java对象,例如< / p>
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响应反序列化为responseClass
类型的POJO
我确实找到了一个非常接近我想要的名为sitebricks的库,但它的范围受到严重限制,例如它不允许我做更多不常见的HTTP动词,如PUT / PATCH / DELETE,它无法设置标题甚至是请求正文。
Another library我发现存在相反的问题 - 它无法进行basicauth,也没有将JSON序列化为对象。