APIClient: Add jackson JSON serializer support to client object

Allows java ws to deserialize json objects directly.
This commit is contained in:
Calle Wilund 2019-07-24 14:28:38 +00:00
parent bbc817013e
commit d8efa60ab7
1 changed files with 5 additions and 1 deletions

View File

@ -38,6 +38,7 @@ import javax.ws.rs.core.Response;
import org.glassfish.jersey.client.ClientConfig;
import com.fasterxml.jackson.jaxrs.json.JacksonJaxbJsonProvider;
import com.scylladb.jmx.utils.SnapshotDetailsTabularData;
public class APIClient {
@ -78,9 +79,12 @@ public class APIClient {
private static final Logger logger = Logger.getLogger(APIClient.class.getName());
private final APIConfig config;
private final ClientConfig clientConfig;
public APIClient(APIConfig config) {
this.config = config;
this.clientConfig = new ClientConfig();
clientConfig.register(new JacksonJaxbJsonProvider());
}
private String getBaseUrl() {
@ -88,7 +92,7 @@ public class APIClient {
}
public Invocation.Builder get(String path, MultivaluedMap<String, String> queryParams) {
Client client = ClientBuilder.newClient(new ClientConfig());
Client client = ClientBuilder.newClient(clientConfig);
WebTarget webTarget = client.target(getBaseUrl()).path(path);
if (queryParams != null) {
for (Entry<String, List<String>> qp : queryParams.entrySet()) {