是否有一个良好类型的Scala(或Java)库来使用JSON Web API?

时间:2012-09-19 04:02:17

标签: java json scala rest-client sitebricks

我想要一个简单的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序列化为对象。

1 个答案:

答案 0 :(得分:1)

您检查过this了吗?您可以使用Salat进行序列化

,而不是SJSON