Anonymous
Как установить тело ответа в javax.ws.rs.core.Response
Сообщение
Anonymous » 10 янв 2025, 17:15
Существует конечная точка REST API, которую необходимо реализовать. Она используется для получения некоторой информации и отправки внутреннего запроса на другой сервер, а ответ, поступающий с внутреннего сервера, должен установить окончательный ответ. Моя проблема:
как установить тело ответа в 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);
}
}
Вот
сообщение , которое мне нужно установить. Но я попробовал несколько способов. Ни один из них не работал.
Подробнее здесь:
https://stackoverflow.com/questions/361 ... e-response
1736518511
Anonymous
Существует конечная точка REST API, которую необходимо реализовать. Она используется для получения некоторой информации и отправки внутреннего запроса на другой сервер, а ответ, поступающий с внутреннего сервера, должен установить окончательный ответ. Моя проблема: [b]как установить тело ответа в javax.ws.rs.core.Response?[/b] [code]@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); } } [/code] Вот [b]сообщение[/b], которое мне нужно установить. Но я попробовал несколько способов. Ни один из них не работал. Подробнее здесь: [url]https://stackoverflow.com/questions/36152231/how-set-response-body-in-javax-ws-rs-core-response[/url]