/** * Perform POST query and return Response * @param endpoint to be called * @param object to be passed * @return Response object * @throws Exception */ public APICaller.Response post(URL endpoint, Object object) throws Exception { // prepare connection HttpClient client = HttpClientBuilder.create().build(); // create request HttpPost request = new HttpPost(endpoint.toURI()); StringEntity entity = new StringEntity(new Gson().toJson(object)); request.addHeader("Accept", "application/json"); request.addHeader("Content-Type", "application/json"); request.setEntity(entity); // execute response HttpResponse response = client.execute(request); return new Response(response.getEntity(), response.getStatusLine().getStatusCode()); }
List<Org> orgList = caller.get(orgListUrl).getAsListOfThisType(Org.class); OrgDetail detail = caller.get(orgUrl).getAsThisType(OrgDetail.class);
List<Org> orgList = caller.get(orgListUrl).getAsListOfThisType(Org.class); OrgDetail detail = caller.get(orgUrl).getAsThisType(OrgDetail.class);
public APICaller.Response postXML(URL endpoint, String object) throws Exception { /* // prepare connection HttpClient client = HttpClientBuilder.create().build(); // create request HttpPost request = new HttpPost(endpoint.toURI()); StringEntity entity = new StringEntity(object); request.addHeader("Accept", "application/xml"); request.addHeader("Content-Type", "application/xml"); request.setEntity(entity); // execute response HttpResponse response = client.execute(request); return new Response(response.getEntity(), response.getStatusLine().getStatusCode()); */ // SSL settings ConnectionSpec spec = new ConnectionSpec.Builder(ConnectionSpec.COMPATIBLE_TLS).allEnabledCipherSuites().build(); // prepare connection OkHttpClient client = new OkHttpClient.Builder().connectionSpecs(Collections.singletonList(spec)).build(); // prepare header and body MediaType XML = MediaType.parse("application/xml; charset=utf-8"); RequestBody body = RequestBody.create(XML, object); // build request Request request = new Request.Builder().url(endpoint).post(body).build(); // call it okhttp3.Response ret = client.newCall(request).execute(); return new Response(ret.body(), ret.code()); }
/** * Perform POST query and return Response * @param endpoint to be called * @param object to be passed * @return Response object * @throws Exception */ public APICaller.Response post(URL endpoint, Object object) throws Exception { // prepare connection HttpClient client = HttpClientBuilder.create().build(); // create request HttpPost request = new HttpPost(endpoint.toURI()); StringEntity entity = new StringEntity(new Gson().toJson(object)); request.addHeader("Accept", "application/json"); request.addHeader("Content-Type", "application/json"); request.setEntity(entity); // execute response HttpResponse response = client.execute(request); return new Response(IOUtils.toString(response.getEntity().getContent())); } }
/** * Perform GET query and return Response * @param endpoint to be called * @return Response object * @throws Exception */ public APICaller.Response get(URL endpoint) throws Exception { // prepare connection HttpClient client = HttpClientBuilder.create().build(); // create request HttpGet request = new HttpGet(endpoint.toURI()); request.addHeader("Accept", "application/json"); request.addHeader("Content-Type", "application/json"); // execute response HttpResponse response = client.execute(request); return new Response(response.getEntity(), response.getStatusLine().getStatusCode()); } }