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

pat*_*rit 6 java json scala rest-client sitebricks

我想要一个简单的Java(或Scala)休息客户端库,让我可以轻松地在JSON REST API上执行GET/PUT/POST/DELETE等,并以类型安全的方式将JSON响应反序列化为Java对象,例如

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); 
Run Code Online (Sandbox Code Playgroud)

基本上我希望通用签名是这样的,get()例如 public <T> T get(String path, Class<T> responseClass),它会执行GET请求并将JSON响应反序列化为类型的POJOresponseClass

我确实找到了一个非常接近我想要的站点库的库,但它的范围受到严重限制,例如它不允许我做更多不常见的HTTP动词,如PUT/PATCH/DELETE,它无法设置标题或甚至是请求的正文.

我找到的另一个库有相反的问题 - 它无法进行basicauth,也没有为您将JSON序列化为对象.

Ser*_*nko 1

你检查过这个吗?您可以使用Salat代替 SJSON进行序列化