
no.bouvet.jsonclient.JsonClient Maven / Gradle / Ivy
package no.bouvet.jsonclient;
import com.fasterxml.jackson.databind.ObjectMapper;
import no.bouvet.jsonclient.builders.HttpSSLClientBuilder;
import no.bouvet.jsonclient.http.HttpExecuter;
import org.apache.http.HttpResponse;
import org.apache.http.client.HttpClient;
import org.apache.http.impl.client.HttpClientBuilder;
import java.util.List;
import java.util.Map;
public class JsonClient {
private JsonConverter jsonConverter;
private HttpClient httpClient;
public JsonClient() {
jsonConverter = new JsonConverter();
}
public JsonClient(ObjectMapper objectMapper) {
jsonConverter = new JsonConverter(objectMapper);
}
public JsonClient http() {
httpClient = HttpClientBuilder.create().build();
return this;
}
public JsonClient ssl() {
httpClient = new HttpSSLClientBuilder().build();
return this;
}
public JsonClient ssl(String username, String password){
httpClient = new HttpSSLClientBuilder().withAuthentication(username, password).build();
return this;
}
public HttpResponse get(String url) {
return HttpExecuter.get(httpClient, url);
}
public T get(String url, Class clz) {
return jsonConverter.toObject(get(url).getEntity(), clz);
}
public List getList(String url, Class clz) {
return jsonConverter.toList(get(url).getEntity(), clz);
}
public Map getMap(String url, Class clz) {
return jsonConverter.toMap(get(url).getEntity(), clz);
}
public HttpResponse post(String url, Object object) {
String json = jsonConverter.toJson(object);
return HttpExecuter.post(httpClient, url, json);
}
public T post(String url, Object object, Class clz) {
return jsonConverter.toObject(post(url, object).getEntity(), clz);
}
public List postList(String url, Object object, Class clz) {
return jsonConverter.toList(post(url, object).getEntity(), clz);
}
public List> postListOfList(String url, Object object, Class clz) {
return jsonConverter.toListOfList(post(url, object).getEntity(), clz);
}
public Map postMap(String url, Object object, Class clz) {
return jsonConverter.toMap(post(url, object).getEntity(), clz);
}
public HttpResponse put(String url, Object object) {
String json = jsonConverter.toJson(object);
return HttpExecuter.put(httpClient, url, json);
}
public T put(String url, Object object, Class clz) {
return jsonConverter.toObject(put(url, object).getEntity(), clz);
}
public HttpResponse delete(String url) {
return HttpExecuter.delete(httpClient, url);
}
public T delete(String url, Class clz) {
return jsonConverter.toObject(delete(url).getEntity(), clz);
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy