There is a REST API endpoint that needs to be implemented, used to get some information and send a request to another server, and the response that comes from the backend server should set the final answer. My problem is how to set the response body in javax.ws.rs.core.Response?
@Path("analytics") @GET @Produces("application/json") public Response getDeviceStats(@QueryParam("deviceType") String deviceType, @QueryParam("deviceIdentifier") String deviceIdentifier, @QueryParam("username") String user, @QueryParam("from") long from, @QueryParam("to") long to) { // Trust own CA and all self-signed certs SSLContext sslcontext = null; try { sslcontext = SSLContexts.custom() .loadTrustMaterial(new File(getClientTrustStoretFilePath()), "password## Heading ##".toCharArray(), new TrustSelfSignedStrategy()) .build(); } catch (NoSuchAlgorithmException e) { log.error(e); } catch (KeyManagementException e) { log.error(e); } catch (KeyStoreException e) { log.error(e); } catch (CertificateException e) { log.error(e); } catch (IOException e) { log.error(e); } SSLConnectionSocketFactory sslsf = new SSLConnectionSocketFactory( sslcontext, new String[] { "TLSv1" }, null, SSLConnectionSocketFactory.getDefaultHostnameVerifier()); CloseableHttpClient httpclient = HttpClients.custom() .setSSLSocketFactory(sslsf) .build(); HttpResponse response = null; try { HttpGet httpget = new HttpGet(URL); httpget.setHeader("Authorization", "Basic YWRtaW46YWRtaW4="); httpget.addHeader("content-type", "application/json"); response = httpclient.execute(httpget); String message = EntityUtils.toString(response.getEntity(), "UTF-8"); } catch (ClientProtocolException e) { log.error(e); } catch (IOException e) { log.error(e); } }
Here the message is the one I need to install. But I tried several methods. None of them worked.
java java-ee rest web-services jax-rs
GPrathap
source share