Comment définir le corps de réponse dans javax.ws.rs.core.Response

Un sharepoint terminaison de l’API REST qui doit être implémenté est utilisé pour obtenir des informations et envoyer la requête backend à un autre serveur. La réponse provenant du serveur backend doit définir la réponse finale. Mon problème est de savoir comment définir le corps de la réponse dans javax.ws.rs.core.Response?

@Path("analytics") @GET @Produces("application/json") public Response getDeviceStats(@QueryParam("deviceType") Ssortingng deviceType, @QueryParam("deviceIdentifier") Ssortingng deviceIdentifier, @QueryParam("username") Ssortingng 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 Ssortingng[] { "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); Ssortingng message = EntityUtils.toSsortingng(response.getEntity(), "UTF-8"); } catch (ClientProtocolException e) { log.error(e); } catch (IOException e) { log.error(e); } } 

Ici le message est celui que je dois définir. Mais j’ai essayé plusieurs méthodes. N’a travaillé aucun d’entre eux.

Une des solutions suivantes devrait faire l’affaire:

 return Response.ok(entity).build(); 
 return Response.ok().entity(entity).build(); 

Pour plus de détails, consultez la documentation sur les classes Response et Response.ResponseBuilder .

Conseil : Dans l’API Response.ResponseBuilder vous pouvez trouver des méthodes utiles vous permettant d’append des informations relatives au cache , aux cookies et aux en- têtes à la réponse HTTP.